Changeset 1896
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/findrec.c
r1877 r1896 66 66 pci = WinSendMsg(hwndCnr, 67 67 CM_SEARCHSTRING, MPFROMP(&srch), MPFROMP(pciParent)); 68 while (pci && (INT) pci != -1 ) {68 while (pci && (INT) pci != -1 && pci->pszFileName) { 69 69 if (!noenv || (pci->flags & (RECFLAGS_ENV | RECFLAGS_UNDERENV)) == 0) { 70 70 // CNRITEM for file/directory -
trunk/dll/treecnr.c
r1883 r1896 724 724 Fortify_BecomeOwner(mp1); 725 725 # endif 726 xDosRequestMutexSem(hmtxFM2Globals, SEM_INDEFINITE_WAIT); 726 727 dcd = INSTDATA(hwnd); 727 728 if (dcd) { … … 749 750 } 750 751 free((CHAR *)mp1); 752 xDosReleaseMutexSem(hmtxFM2Globals); 751 753 } 752 754 return 0; … … 835 837 CHAR **list = (CHAR **) mp1; 836 838 839 xDosRequestMutexSem(hmtxFM2Globals, SEM_INDEFINITE_WAIT); 837 840 while (list[numentries]) 838 841 numentries++; 839 842 if (numentries) 840 843 UpdateCnrList(dcd->hwndCnr, list, numentries, TRUE, dcd); 844 xDosReleaseMutexSem(hmtxFM2Globals); 841 845 } 842 846 return 0; … … 901 905 ULONG type; 902 906 907 xDosRequestMutexSem(hmtxFM2Globals, SEM_INDEFINITE_WAIT); 903 908 strcpy(s, GetPString(IDS_TREETEXT)); 904 909 memset(&cnri, 0, sizeof(CNRINFO)); … … 909 914 if (cnri.cRecords) { 910 915 sprintf(s, GetPString(IDS_NUMDRIVESTEXT), cnri.cRecords); 911 if (pci && (INT) pci != -1) { 912 if (!(driveflags[toupper(*pci->pszFileName) - 'A'] & 913 DRIVE_REMOVABLE) || 914 driveserial[toupper(*pci->pszFileName) - 'A'] != -1) { 916 if (pci && (INT) pci != -1 && pci->pszFileName) { 917 if (driveserial[toupper(*pci->pszFileName) - 'A'] != -1 918 || !(driveflags[toupper(*pci->pszFileName) - 'A'] & DRIVE_REMOVABLE)) { 915 919 memset(&volser, 0, sizeof(volser)); 916 920 DosError(FERR_DISABLEHARDERR); … … 995 999 if (dcd->hwndFrame == WinQueryActiveWindow(dcd->hwndParent)) 996 1000 WinSetWindowText(hwndStatus, s); 1001 xDosReleaseMutexSem(hmtxFM2Globals); 997 1002 } 998 1003 return 0; … … 1004 1009 Runtime_Error(pszSrcFile, __LINE__, NULL); 1005 1010 else { 1011 xDosRequestMutexSem(hmtxFM2Globals, SEM_INDEFINITE_WAIT); 1006 1012 RemoveCnrItems(dcd->hwndCnr, NULL, 0, CMA_FREE | CMA_INVALIDATE | CMA_ERASE); 1007 1013 WinSendMsg(dcd->hwndCnr, … … 1019 1025 MPVOID, MPFROM2SHORT(0, CMA_ERASE | CMA_REPOSITION)); 1020 1026 PostMsg(dcd->hwndCnr, UM_RESCAN, MPVOID, MPVOID); 1027 xDosReleaseMutexSem(hmtxFM2Globals); 1021 1028 } 1022 1029 return 0;
Note:
See TracChangeset
for help on using the changeset viewer.