Author: gadamopoulos Date: Fri Oct 9 00:31:47 2015 New Revision: 69469
URL: http://svn.reactos.org/svn/reactos?rev=69469&view=rev Log: [SHELL32] - "Fix" SHChangeNotifyRegister to report file system changes. I am not really sure if these changes are correct but really make it work now. CORE-1171
Modified: trunk/reactos/dll/win32/shell32/CDefView.cpp trunk/reactos/dll/win32/shell32/wine/changenotify.c
Modified: trunk/reactos/dll/win32/shell32/CDefView.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/CDefView.... ============================================================================== --- trunk/reactos/dll/win32/shell32/CDefView.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/CDefView.cpp [iso-8859-1] Fri Oct 9 00:31:47 2015 @@ -1979,7 +1979,7 @@
TRACE("(%p)(%p,%p,0x%08x)\n", this, Pidls[0], Pidls[1], lParam);
- switch (lParam) + switch (lParam &~ SHCNE_INTERRUPT) { case SHCNE_MKDIR: case SHCNE_CREATE:
Modified: trunk/reactos/dll/win32/shell32/wine/changenotify.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/wine/chan... ============================================================================== --- trunk/reactos/dll/win32/shell32/wine/changenotify.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/wine/changenotify.c [iso-8859-1] Fri Oct 9 00:31:47 2015 @@ -378,11 +378,11 @@ }
if( ( ( wEventId & SHCNE_NOITEMEVENTS ) && - ( wEventId & ~SHCNE_NOITEMEVENTS ) ) || + ( wEventId & ~(SHCNE_NOITEMEVENTS | SHCNE_INTERRUPT) ) ) || ( ( wEventId & SHCNE_ONEITEMEVENTS ) && - ( wEventId & ~SHCNE_ONEITEMEVENTS ) ) || + ( wEventId & ~(SHCNE_ONEITEMEVENTS | SHCNE_INTERRUPT) ) ) || ( ( wEventId & SHCNE_TWOITEMEVENTS ) && - ( wEventId & ~SHCNE_TWOITEMEVENTS ) ) ) + ( wEventId & ~(SHCNE_TWOITEMEVENTS | SHCNE_INTERRUPT) ) ) ) { WARN("mutually incompatible events listed\n"); return; @@ -692,12 +692,14 @@ LPNOTIFYREGISTER item = (LPNOTIFYREGISTER) lpOverlapped->hEvent; TRACE("_NotificationCompletion\n");
+#if 0 if (dwErrorCode == ERROR_OPERATION_ABORTED) { /* Command was induced by CancelIo in the shutdown procedure. */ TRACE("_NotificationCompletion ended.\n"); return; } +#endif
/* This likely means overflow, so force whole directory refresh. */ if (!dwNumberOfBytesTransfered)