Changeset 1461 for trunk/dll/draglist.c
- Timestamp:
- Sep 20, 2009, 12:13:11 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/draglist.c
r1453 r1461 73 73 { 74 74 75 # ifdef USE_FAST_FREE 76 if (!DrgDeleteDraginfoStrHandles(pDInfo)) { 77 Win_Error(hwnd, hwnd, pszSrcFile, __LINE__, 78 "DrgDeleteDraginfoStrHandles"); 79 } 80 # else // The slow way 81 PDRAGITEM pDItem; 82 ULONG cDitem; 83 ULONG curitem; 84 APIRET ok; 85 86 cDitem = DrgQueryDragitemCount(pDInfo); 87 for (curitem = 0; curitem < cDitem; curitem++) { 88 pDItem = DrgQueryDragitemPtr(pDInfo, curitem); 89 if (!pDItem) { 75 //# ifdef USE_FAST_FREE 76 if (IsFm2Window(pDInfo->hwndSource, FALSE)) { 77 if (!DrgDeleteDraginfoStrHandles(pDInfo)) { 90 78 Win_Error(hwnd, hwnd, pszSrcFile, __LINE__, 91 "DrgQueryDragitemPtr(%u)", curitem); 92 } 93 else { 94 ok = DrgDeleteStrHandle(pDItem->hstrType); 95 if (!ok) { 96 HAB hab = WinQueryAnchorBlock(hwnd); 97 PERRINFO pErrInfoBlk = WinGetErrorInfo(hab); 98 if (ERRORIDERROR(pErrInfoBlk->idError) != PMERR_INVALID_PARAMETER) 99 Win_Error(hwnd, hwnd, pszSrcFile, __LINE__, 100 "DrgDeleteStrHandle(0x%x) hstrType",pDItem->hstrType); 101 } 102 ok = DrgDeleteStrHandle(pDItem->hstrRMF); 103 if (!ok) { 104 HAB hab = WinQueryAnchorBlock(hwnd); 105 PERRINFO pErrInfoBlk = WinGetErrorInfo(hab); 106 if (ERRORIDERROR(pErrInfoBlk->idError) != PMERR_INVALID_PARAMETER) 107 Win_Error(hwnd, hwnd, pszSrcFile, __LINE__, 108 "DrgDeleteStrHandle(0x%x) hstrRMF",pDItem->hstrRMF); 109 } 110 ok = DrgDeleteStrHandle(pDItem->hstrContainerName); 111 if (!ok) { 112 HAB hab = WinQueryAnchorBlock(hwnd); 113 PERRINFO pErrInfoBlk = WinGetErrorInfo(hab); 114 if (ERRORIDERROR(pErrInfoBlk->idError) != PMERR_INVALID_PARAMETER) 115 Win_Error(hwnd, hwnd, pszSrcFile, __LINE__, 116 "DrgDeleteStrHandle(0x%x) hstrContainerName",pDItem->hstrContainerName); 117 } 118 ok = DrgDeleteStrHandle(pDItem->hstrSourceName); 119 if (!ok) { 120 Win_Error(hwnd, hwnd, pszSrcFile, __LINE__, 121 "DrgDeleteStrHandle(0x%x) hstrSourceName",pDItem->hstrSourceName); 122 } 123 ok = DrgDeleteStrHandle(pDItem->hstrTargetName); 124 if (!ok) { 125 Win_Error(hwnd, hwnd, pszSrcFile, __LINE__, 126 "DrgDeleteStrHandle(0x%x) hstrTargetName",pDItem->hstrTargetName); 127 } 128 } 129 } // for 130 # endif 79 "DrgDeleteDraginfoStrHandles"); 80 } 81 } 82 //# else // The slow way 83 else { 84 PDRAGITEM pDItem; 85 ULONG cDitem; 86 ULONG curitem; 87 APIRET ok; 88 89 cDitem = DrgQueryDragitemCount(pDInfo); 90 for (curitem = 0; curitem < cDitem; curitem++) { 91 pDItem = DrgQueryDragitemPtr(pDInfo, curitem); 92 if (!pDItem) { 93 Win_Error(hwnd, hwnd, pszSrcFile, __LINE__, 94 "DrgQueryDragitemPtr(%u)", curitem); 95 } 96 else { 97 ok = DrgDeleteStrHandle(pDItem->hstrType); 98 if (!ok) { 99 HAB hab = WinQueryAnchorBlock(hwnd); 100 PERRINFO pErrInfoBlk = WinGetErrorInfo(hab); 101 if (ERRORIDERROR(pErrInfoBlk->idError) != PMERR_INVALID_PARAMETER) 102 Win_Error(hwnd, hwnd, pszSrcFile, __LINE__, 103 "DrgDeleteStrHandle(0x%x) hstrType",pDItem->hstrType); 104 } 105 ok = DrgDeleteStrHandle(pDItem->hstrRMF); 106 if (!ok) { 107 HAB hab = WinQueryAnchorBlock(hwnd); 108 PERRINFO pErrInfoBlk = WinGetErrorInfo(hab); 109 if (ERRORIDERROR(pErrInfoBlk->idError) != PMERR_INVALID_PARAMETER) 110 Win_Error(hwnd, hwnd, pszSrcFile, __LINE__, 111 "DrgDeleteStrHandle(0x%x) hstrRMF",pDItem->hstrRMF); 112 } 113 ok = DrgDeleteStrHandle(pDItem->hstrContainerName); 114 if (!ok) { 115 HAB hab = WinQueryAnchorBlock(hwnd); 116 PERRINFO pErrInfoBlk = WinGetErrorInfo(hab); 117 if (ERRORIDERROR(pErrInfoBlk->idError) != PMERR_INVALID_PARAMETER) 118 Win_Error(hwnd, hwnd, pszSrcFile, __LINE__, 119 "DrgDeleteStrHandle(0x%x) hstrContainerName",pDItem->hstrContainerName); 120 } 121 ok = DrgDeleteStrHandle(pDItem->hstrSourceName); 122 if (!ok) { 123 Win_Error(hwnd, hwnd, pszSrcFile, __LINE__, 124 "DrgDeleteStrHandle(0x%x) hstrSourceName",pDItem->hstrSourceName); 125 } 126 ok = DrgDeleteStrHandle(pDItem->hstrTargetName); 127 if (!ok) { 128 Win_Error(hwnd, hwnd, pszSrcFile, __LINE__, 129 "DrgDeleteStrHandle(0x%x) hstrTargetName",pDItem->hstrTargetName); 130 } 131 } 132 } // for 133 } 134 //# endif 131 135 if (!DrgFreeDraginfo(pDInfo)) { 132 136 // PMERR_SOURCE_SAME_AS_TARGET is not an error if dragging within same fm/2 process
Note:
See TracChangeset
for help on using the changeset viewer.