[Wine-patches] [eterhack] eterbug #5348

Alexander Morozov amorozov на etersoft.ru
Ср Июл 13 21:49:34 MSD 2011


----------- следующая часть -----------
From a42d2275dfdad57634becccdf8fbcd6ef66e9bce Mon Sep 17 00:00:00 2001
From: Alexander Morozov <amorozov на etersoft.ru>
Date: Wed, 13 Jul 2011 21:18:42 +0400
Subject: [eterhack 1/2] Revert "winex11.drv: Do not call user32 functions if
 wine_tsx11_lock is called (eterbug #5799)."

This reverts commit 308c05371f47566f05c6755cd3251cfebd1b3e2c.
---
 dlls/winex11.drv/mouse.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c
index 2969999..6bd427f 100644
--- a/dlls/winex11.drv/mouse.c
+++ b/dlls/winex11.drv/mouse.c
@@ -1066,9 +1066,6 @@ BOOL CDECL X11DRV_GetCursorPos(LPPOINT pos)
     int rootX, rootY, winX, winY;
     unsigned int xstate;
     BOOL ret;
-    char class[80];
-    WINDOWINFO pwi;
-    HWND hwnd;
 
     wine_tsx11_lock();
     ret = XQueryPointer( display, root_window, &root, &child, &rootX, &rootY, &winX, &winY, &xstate );
@@ -1078,16 +1075,18 @@ BOOL CDECL X11DRV_GetCursorPos(LPPOINT pos)
         pos->y = winY + virtual_screen_rect.top;
         TRACE("pointer at (%d,%d)\n", pos->x, pos->y );
     }
-
     /* EterBug 1695 */
-    hwnd = WindowFromPoint(*pos);
+    WINDOWINFO pwi;
+    HWND hwnd = WindowFromPoint(cursor_pos);
     GetWindowInfo(hwnd,&pwi);
+    char class[80];
     GetClassNameA(hwnd,class,sizeof class);
     if((GetActiveWindow()==0)&&(!(strcmp(class, "V8Dockbar"))||!(strcmp(class, "V8CommandBar"))))
     {
         pos->y=0;
     }
 
+    wine_tsx11_unlock();
     return ret;
 }
 
-- 
1.7.5.4

----------- следующая часть -----------
From 1c186a0403fd9a9dd8363b2c7692377b2ad6c1f1 Mon Sep 17 00:00:00 2001
From: Alexander Morozov <amorozov на etersoft.ru>
Date: Thu, 12 Aug 2010 15:50:34 +0400
Subject: [eterhack 2/2] winex11.drv: Do not call user32 functions if
 wine_tsx11_lock is called (eterbug #5799).

---
 dlls/winex11.drv/mouse.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c
index 6bd427f..a426438 100644
--- a/dlls/winex11.drv/mouse.c
+++ b/dlls/winex11.drv/mouse.c
@@ -1066,6 +1066,9 @@ BOOL CDECL X11DRV_GetCursorPos(LPPOINT pos)
     int rootX, rootY, winX, winY;
     unsigned int xstate;
     BOOL ret;
+    char class[80];
+    WINDOWINFO pwi;
+    HWND hwnd;
 
     wine_tsx11_lock();
     ret = XQueryPointer( display, root_window, &root, &child, &rootX, &rootY, &winX, &winY, &xstate );
@@ -1075,18 +1078,17 @@ BOOL CDECL X11DRV_GetCursorPos(LPPOINT pos)
         pos->y = winY + virtual_screen_rect.top;
         TRACE("pointer at (%d,%d)\n", pos->x, pos->y );
     }
+    wine_tsx11_unlock();
+
     /* EterBug 1695 */
-    WINDOWINFO pwi;
-    HWND hwnd = WindowFromPoint(cursor_pos);
+    hwnd = WindowFromPoint(*pos);
     GetWindowInfo(hwnd,&pwi);
-    char class[80];
     GetClassNameA(hwnd,class,sizeof class);
     if((GetActiveWindow()==0)&&(!(strcmp(class, "V8Dockbar"))||!(strcmp(class, "V8CommandBar"))))
     {
         pos->y=0;
     }
 
-    wine_tsx11_unlock();
     return ret;
 }
 
-- 
1.7.5.4



Подробная информация о списке рассылки Wine-patches