[ros-diffs] [jgardou] 46726: [WIN32K] Also send message to desktop window with HWND_BROADCAST.

jgardou at svn.reactos.org jgardou at svn.reactos.org
Mon Apr 5 01:20:02 CEST 2010


Author: jgardou
Date: Mon Apr  5 01:20:02 2010
New Revision: 46726

URL: http://svn.reactos.org/svn/reactos?rev=46726&view=rev
Log:
[WIN32K]
Also send message to desktop window with HWND_BROADCAST.

Modified:
    branches/reactos-yarotows/subsystems/win32/win32k/ntuser/message.c

Modified: branches/reactos-yarotows/subsystems/win32/win32k/ntuser/message.c
URL: http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win32/win32k/ntuser/message.c?rev=46726&r1=46725&r2=46726&view=diff
==============================================================================
--- branches/reactos-yarotows/subsystems/win32/win32k/ntuser/message.c [iso-8859-1] (original)
+++ branches/reactos-yarotows/subsystems/win32/win32k/ntuser/message.c [iso-8859-1] Mon Apr  5 01:20:02 2010
@@ -366,7 +366,7 @@
                                         (LPARAM)Time,
                                         sizeof(LPARAM));
         }
-        return 0;        
+        return 0;
      }
      else
      {
@@ -591,7 +591,7 @@
       *HitTest = HTCLIENT;
    }
 
-   if ( gspv.bMouseClickLock && 
+   if ( gspv.bMouseClickLock &&
         ( (Msg->message == WM_LBUTTONUP) ||
           (Msg->message == WM_LBUTTONDOWN) ) )
    {
@@ -1206,7 +1206,7 @@
       return FALSE;
    }
 
-   if (!Wnd) 
+   if (!Wnd)
       return UserPostThreadMessage( PtrToInt(PsGetCurrentThreadId()),
                                     Msg,
                                     wParam,
@@ -1223,6 +1223,7 @@
 
       if (List != NULL)
       {
+         UserPostMessage(DesktopWindow->hSelf, Msg, wParam, lParam);
          for (i = 0; List[i]; i++)
             UserPostMessage(List[i], Msg, wParam, lParam);
          ExFreePool(List);
@@ -1447,6 +1448,9 @@
       SetLastWin32Error(ERROR_INTERNAL_ERROR);
       return 0;
    }
+
+   /* Send message to the desktop window too! */
+   co_IntSendMessageTimeoutSingle(DesktopWindow->hSelf, Msg, wParam, lParam, uFlags, uTimeout, uResult);
 
    Children = IntWinListChildren(DesktopWindow);
    if (NULL == Children)
@@ -1653,6 +1657,7 @@
 
       if (List != NULL)
       {
+         UserSendNotifyMessage(DesktopWindow->hSelf, Msg, wParam, lParam);
          for (i = 0; List[i]; i++)
          {
             UserSendNotifyMessage(List[i], Msg, wParam, lParam);
@@ -2263,7 +2268,7 @@
   BOOL Hit = FALSE;
   MSG SafeMsg;
 
-  UserEnterExclusive();  
+  UserEnterExclusive();
   _SEH2_TRY
   {
     ProbeForRead(UnsafeMsgInfo, sizeof(MSG), 1);
@@ -2275,7 +2280,7 @@
     Hit = TRUE;
   }
   _SEH2_END;
-  
+
   if (!Hit) Res = IntDispatchMessage(&SafeMsg);
 
   UserLeave();
@@ -2496,11 +2501,11 @@
             {
                 BadChk = TRUE;
             }
-            _SEH2_END;      
+            _SEH2_END;
          }
          break;
       default:
-         break;   
+         break;
    }
 
    UserLeave();




More information about the Ros-diffs mailing list