Changeset 1836 for trunk/dll/comp.c
- Timestamp:
- Jul 15, 2015, 2:48:14 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/comp.c
r1686 r1836 91 91 Added saymsg2 for this purpose 92 92 10 Mar 13 GKY Fixes to snapshot file. 93 14 Jun 15 GKY Changes to prvenet access violations when cmp is freed 93 94 94 95 ***********************************************************************/ … … 944 945 # endif 945 946 } 946 else 947 else { 948 DosRequestMutexSem(hmtxFiltering, SEM_INDEFINITE_WAIT); 947 949 free(cmp); 950 cmp = NULL; 951 DosReleaseMutexSem(hmtxFiltering); 952 } 948 953 } 949 954 … … 1994 1999 pcil->crtime.seconds = filesl[l]->crtime.twosecs * 2; 1995 2000 pcil->crtime.minutes = filesl[l]->crtime.minutes; 1996 pcil->crtime.hours = filesl[l]->crtime.hours; 1997 if (*cmp->dcd.mask.szMask) { 2001 pcil->crtime.hours = filesl[l]->crtime.hours; 2002 DosRequestMutexSem(hmtxFiltering, SEM_INDEFINITE_WAIT); 2003 if (cmp && *cmp->dcd.mask.szMask) { 1998 2004 if (!Filter((PMINIRECORDCORE)pcil, (PVOID)&cmp->dcd.mask)) { 1999 2005 pcil->rc.flRecordAttr |= CRA_FILTERED; 2000 2006 pcir->rc.flRecordAttr |= CRA_FILTERED; 2001 } 2002 } 2007 } 2008 } 2009 DosReleaseMutexSem(hmtxFiltering); 2003 2010 } // if on left 2004 2011 … … 2036 2043 pcir->crtime.minutes = filesr[r]->crtime.minutes; 2037 2044 pcir->crtime.hours = filesr[r]->crtime.hours; 2038 // Bypass check if already filtered on left side 2039 if (~pcir->rc.flRecordAttr & CRA_FILTERED && 2045 // Bypass check if already filtered on left side 2046 DosRequestMutexSem(hmtxFiltering, SEM_INDEFINITE_WAIT); 2047 if (cmp && ~pcir->rc.flRecordAttr & CRA_FILTERED && 2040 2048 *cmp->dcd.mask.szMask) { 2041 2049 if (!Filter((PMINIRECORDCORE)pcir, (PVOID)&cmp->dcd.mask)) { 2042 2050 pcil->rc.flRecordAttr |= CRA_FILTERED; 2043 2051 pcir->rc.flRecordAttr |= CRA_FILTERED; 2044 } 2045 } 2052 } 2053 } 2054 DosReleaseMutexSem(hmtxFiltering); 2046 2055 } // if on right 2047 2056 … … 2241 2250 WinTerminate(hab); 2242 2251 } 2252 DosRequestMutexSem(hmtxFiltering, SEM_INDEFINITE_WAIT); 2243 2253 free(cmp); 2254 cmp = NULL; 2255 DosReleaseMutexSem(hmtxFiltering); 2244 2256 DosPostEventSem(CompactSem); 2245 2257 … … 2566 2578 // 01 Aug 07 SHL if field null or blank, we draw 2567 2579 // fixme to document why - probably to optimize and bypass draw? 2568 if (pci && (INT)pci != -1 && !*pci->pszFileName )2580 if (pci && (INT)pci != -1 && !*pci->pszFileName && pci->pszFileName != NullStr) 2569 2581 return MRFROMLONG(TRUE); 2570 2582 } … … 3542 3554 WinSendMsg(cmp->dcd.hwndObject, WM_CLOSE, MPVOID, MPVOID); 3543 3555 } 3556 DosRequestMutexSem(hmtxFiltering, SEM_INDEFINITE_WAIT); 3544 3557 free(cmp); 3558 cmp = NULL; 3559 DosReleaseMutexSem(hmtxFiltering); 3545 3560 } 3546 3561 EmptyCnr(GetHwndLeft(hwnd));
Note:
See TracChangeset
for help on using the changeset viewer.