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/cha…
==============================================================================
--- 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)