Fix for Bugzilla Entry 641 - patch from j_anderw at sbox.tugraz.at
Modified: trunk/reactos/subsys/win32k/ntuser/msgqueue.c

Modified: trunk/reactos/subsys/win32k/ntuser/msgqueue.c
--- trunk/reactos/subsys/win32k/ntuser/msgqueue.c	2005-10-12 08:14:56 UTC (rev 18408)
+++ trunk/reactos/subsys/win32k/ntuser/msgqueue.c	2005-10-12 08:38:45 UTC (rev 18409)
@@ -210,6 +210,7 @@
    {
       return FALSE;
    }
+
    WinStaObject = PsGetWin32Thread()->Desktop->WindowStation;
 
    CurInfo = IntGetSysCursorInfo(WinStaObject);
@@ -227,6 +228,12 @@
 
       Res = (dX <= CurInfo->DblClickWidth) &&
             (dY <= CurInfo->DblClickHeight);
+
+      if(Res)
+      {
+         if(CurInfo->ButtonsDown)
+           Res = (CurInfo->ButtonsDown == Msg->message);
+      }
    }
 
    if(Remove)
@@ -237,6 +244,7 @@
          CurInfo->LastBtnDownX = Msg->pt.x;
          CurInfo->LastBtnDownY = Msg->pt.y;
          CurInfo->LastClkWnd = NULL;
+		 CurInfo->ButtonsDown = Msg->message;
       }
       else
       {
@@ -244,6 +252,7 @@
          CurInfo->LastBtnDownY = Msg->pt.y;
          CurInfo->LastClkWnd = (HANDLE)Msg->hwnd;
          CurInfo->LastBtnDown = Msg->time;
+		 CurInfo->ButtonsDown = Msg->message;
       }
    }