Changeset 1453


Ignore:
Timestamp:
Sep 13, 2009, 1:24:37 AM (16 years ago)
Author:
Gregg Young
Message:

Avoid (?spurrious error) when dragging multiple files from a pmmail mail message. (ticket 391)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/draglist.c

    r1438 r1453  
    2323  29 Feb 08 GKY Use xmallocz where appropriate
    2424  08 Mar 09 GKY Additional strings move to PCSZs
     25  12 Sep 09 GKY Fix (probably spurrious) error message generated on drag of
     26                items from a pmmail mail message (PMERR_INVALID_PARAMETER)
    2527
    2628***********************************************************************/
     
    7072VOID FreeDragInfoData (HWND hwnd, PDRAGINFO pDInfo)
    7173{
    72   PDRAGITEM pDItem;
    73   ULONG cDitem;
    74   ULONG curitem;
    75   APIRET ok;
    76 
    77 # ifdef USE_FAST_FREE
     74
     75# ifdef  USE_FAST_FREE
    7876  if (!DrgDeleteDraginfoStrHandles(pDInfo)) {
    7977    Win_Error(hwnd, hwnd, pszSrcFile, __LINE__,
     
    8179  }
    8280# else // The slow way
     81  PDRAGITEM pDItem;
     82  ULONG cDitem;
     83  ULONG curitem;
     84  APIRET ok;
     85
    8386  cDitem = DrgQueryDragitemCount(pDInfo);
    8487  for (curitem = 0; curitem < cDitem; curitem++) {
     
    9194      ok = DrgDeleteStrHandle(pDItem->hstrType);
    9295      if (!ok) {
    93         Win_Error(hwnd, hwnd, pszSrcFile, __LINE__,
    94                       "DrgDeleteStrHandle(0x%x) hstrType",pDItem->hstrType);
     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);
    95101      }
    96102      ok = DrgDeleteStrHandle(pDItem->hstrRMF);
    97103      if (!ok) {
    98         Win_Error(hwnd, hwnd, pszSrcFile, __LINE__,
    99                       "DrgDeleteStrHandle(0x%x) hstrRMF",pDItem->hstrRMF);
     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);
    100109      }
    101110      ok = DrgDeleteStrHandle(pDItem->hstrContainerName);
    102111      if (!ok) {
    103         Win_Error(hwnd, hwnd, pszSrcFile, __LINE__,
    104                       "DrgDeleteStrHandle(0x%x) hstrContainerName",pDItem->hstrContainerName);
     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);
    105117      }
    106118      ok = DrgDeleteStrHandle(pDItem->hstrSourceName);
Note: See TracChangeset for help on using the changeset viewer.