Changeset 603 for trunk/dll/collect.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/collect.c

    r593 r603  
    3131  31 Aug 06 SHL Correct stop scan context menu enable/disable
    3232  30 Mar 07 GKY Remove GetPString for window class names
     33  06 Apr 07 GKY Work around PM DragInfo and DrgFreeDISH limits
     34  06 Apr 07 GKY Add some error checking in drag/drop
    3335
    3436***********************************************************************/
     
    457459      cni.pDragInfo = (PDRAGINFO) mp1;
    458460      li = DoFileDrop(dcd->hwndCnr, NULL, FALSE, MPVOID, MPFROMP(&cni));
     461      if(fexceedpmdrglimit)
     462             saymsg(MB_CANCEL | MB_ICONEXCLAMATION,
     463                   hwnd,
     464                   GetPString(IDS_ERRORTEXT),
     465                   GetPString(IDS_EXCEEDPMDRGLMT));
    459466      if (li) {
    460467        li->type = (fDefaultDeletePerm) ? IDM_PERMDELETE : IDM_DELETE;
     
    21062113          ULONG numitems;
    21072114          USHORT usOperation;
     2115                APIRET rc;
    21082116
    21092117          pci = (PCNRITEM) ((PCNRDRAGINFO) mp2)->pRecord;
     
    21162124          numitems = DrgQueryDragitemCount(pDInfo);
    21172125          usOperation = pDInfo->usOperation;
    2118           DrgDeleteDraginfoStrHandles(pDInfo);
    2119           DrgFreeDraginfo(pDInfo);
     2126          rc = DeleteDragitemStrHandles(pDInfo); //
     2127          if(!rc)
     2128          Win_Error(HWND_DESKTOP, HWND_DESKTOP, pszSrcFile, __LINE__,
     2129                    "DeleteDragitemStrHandles");
     2130          DrgDeleteDraginfoStrHandles (pDInfo);
     2131          rc = DrgFreeDraginfo(pDInfo);
     2132          if(!rc)
     2133          Win_Error(HWND_DESKTOP, HWND_DESKTOP, pszSrcFile, __LINE__,
     2134                 "DrgFreeDraginfo");
    21202135          saymsg(MB_ENTER | MB_ICONASTERISK,
    21212136                 hwnd,
     
    22302245                                 GetPString(IDS_DRAGFILEOBJTEXT));
    22312246              if (DoFileDrag(hwnd, dcd->hwndObject, mp2, NULL, NULL, TRUE)) {
    2232                 if (fUnHilite && wasemphasized)
     2247                if ((fUnHilite && wasemphasized) || fexceedpmdrglimit)
    22332248                  UnHilite(hwnd, TRUE, &dcd->lastselection);
    22342249              }
     
    22452260          ULONG action = UM_ACTION;
    22462261
    2247           li = DoFileDrop(hwnd, NULL, TRUE, mp1, mp2);
     2262          li = DoFileDrop(hwnd, NULL, TRUE, mp1, mp2);
     2263          if(fexceedpmdrglimit)
     2264             saymsg(MB_CANCEL | MB_ICONEXCLAMATION,
     2265                   hwnd,
     2266                   GetPString(IDS_ERRORTEXT),
     2267                   GetPString(IDS_EXCEEDPMDRGLMT));
    22482268          if (li) {
    22492269            if (!*li->targetpath) {
Note: See TracChangeset for help on using the changeset viewer.