[ros-diffs] [fireball] 47910: - Giannis Adamopoulos: Never allow bringing shell window to foreground in SWM.

fireball at svn.reactos.org fireball at svn.reactos.org
Tue Jun 29 21:56:08 UTC 2010


Author: fireball
Date: Tue Jun 29 21:56:07 2010
New Revision: 47910

URL: http://svn.reactos.org/svn/reactos?rev=47910&view=rev
Log:
- Giannis Adamopoulos: Never allow bringing shell window to foreground in SWM.

Modified:
    branches/arwinss/reactos/subsystems/win32/win32k/swm/winman.c
    branches/arwinss/reactos/subsystems/win32/win32k/wine/window.c

Modified: branches/arwinss/reactos/subsystems/win32/win32k/swm/winman.c
URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win32/win32k/swm/winman.c?rev=47910&r1=47909&r2=47910&view=diff
==============================================================================
--- branches/arwinss/reactos/subsystems/win32/win32k/swm/winman.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/subsystems/win32/win32k/swm/winman.c [iso-8859-1] Tue Jun 29 21:56:07 2010
@@ -550,6 +550,20 @@
 SwmSetForeground(HWND hWnd)
 {
     PSWM_WINDOW SwmWin;
+    extern struct window *shell_window;
+
+    /* Check for a shell window */
+    UserEnterExclusive();
+
+    /* Don't allow the shell window to become foreground */
+    if(shell_window &&
+       (get_window((UINT_PTR)hWnd) == shell_window))
+    {
+        UserLeave();
+        return;
+    }
+
+    UserLeave();
 
     /* Acquire the lock */
     SwmAcquire();

Modified: branches/arwinss/reactos/subsystems/win32/win32k/wine/window.c
URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win32/win32k/wine/window.c?rev=47910&r1=47909&r2=47910&view=diff
==============================================================================
--- branches/arwinss/reactos/subsystems/win32/win32k/wine/window.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/subsystems/win32/win32k/wine/window.c [iso-8859-1] Tue Jun 29 21:56:07 2010
@@ -98,7 +98,7 @@
 };
 
 /* global window pointers */
-static struct window *shell_window;
+/*static*/ struct window *shell_window;
 static struct window *shell_listview;
 static struct window *progman_window;
 static struct window *taskman_window;




More information about the Ros-diffs mailing list