Changeset 603 for trunk/dll/dircnrs.c


Ignore:
Timestamp:
Apr 6, 2007, 11:57:45 PM (18 years ago)
Author:
Gregg Young
Message:

Work around for PM drag/drop limit; more drag/drop error checking

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/dircnrs.c

    r593 r603  
    2222  07 Jan 07 GKY Move error strings etc. to string file
    2323  30 Mar 07 GKY Remove GetPString for window class names
     24  06 Apr 07 GKY Work around PM DragInfo and DrgFreeDISH limits
     25  06 Apr 07 GKY Add some error checking in drag/drop
    2426
    2527***********************************************************************/
     
    587589        DoFileDrop(dcd->hwndCnr, dcd->directory, FALSE, MPVOID,
    588590                   MPFROMP(&cni));
     591      if(fexceedpmdrglimit)
     592             saymsg(MB_CANCEL | MB_ICONEXCLAMATION,
     593                   hwnd,
     594                   GetPString(IDS_ERRORTEXT),
     595                   GetPString(IDS_EXCEEDPMDRGLMT));
    589596      if (li) {
    590597        li->type = (fDefaultDeletePerm) ? IDM_PERMDELETE : IDM_DELETE;
     
    10501057{
    10511058  DIRCNRDATA *dcd = WinQueryWindowPtr(hwnd, QWL_USER);
     1059    APIRET rc;
    10521060
    10531061  switch (msg) {
     
    26902698          numitems = DrgQueryDragitemCount(pDInfo);
    26912699          usOperation = pDInfo->usOperation;
    2692           DrgDeleteDraginfoStrHandles(pDInfo);
    2693           DrgFreeDraginfo(pDInfo);
     2700          rc = DeleteDragitemStrHandles(pDInfo); //
     2701          if(!rc)
     2702          Win_Error(HWND_DESKTOP, HWND_DESKTOP, pszSrcFile, __LINE__,
     2703                    "DeleteDragitemStrHandles");
     2704          DrgDeleteDraginfoStrHandles (pDInfo);
     2705          rc = DrgFreeDraginfo(pDInfo);
     2706          if(!rc)
     2707          Win_Error(HWND_DESKTOP, HWND_DESKTOP, pszSrcFile, __LINE__,
     2708                 "DrgFreeDraginfo");
    26942709          saymsg(MB_ENTER | MB_ICONASTERISK,
    26952710                 hwnd,
     
    28322847                           (pci) ? NULL : dcd->directory,
    28332848                           (pci) ? TRUE : FALSE)) {
    2834               if (pci && fUnHilite && wasemphasized)
     2849              if ((pci && fUnHilite && wasemphasized) || fexceedpmdrglimit)
    28352850                UnHilite(hwnd, TRUE, &dcd->lastselection);
    28362851            }
     
    28492864          ULONG action = UM_ACTION;
    28502865
    2851           li = DoFileDrop(hwnd, dcd->directory, TRUE, mp1, mp2);
     2866          li = DoFileDrop(hwnd, dcd->directory, TRUE, mp1, mp2);
     2867          if(fexceedpmdrglimit)
     2868             saymsg(MB_CANCEL | MB_ICONEXCLAMATION,
     2869                   hwnd,
     2870                   GetPString(IDS_ERRORTEXT),
     2871                   GetPString(IDS_EXCEEDPMDRGLMT));
    28522872          if (li) {
    28532873            if (li->list && li->list[0] && IsRoot(li->list[0]))
Note: See TracChangeset for help on using the changeset viewer.