[Wine-patches] [eterhack] eterbug #5348 (try 2)

Alexander Morozov amorozov на etersoft.ru
Чт Июл 14 12:50:13 MSD 2011


----------- следующая часть -----------
From 772ee0375fe5d9fe9bcd908552a4f82da957aaa7 Mon Sep 17 00:00:00 2001
From: Alexander Morozov <amorozov на etersoft.ru>
Date: Wed, 13 Jul 2011 21:18:42 +0400
Subject: [PATCH 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..c8f0b55 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(*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 26c732befd11e755616ebe588e9ac9b6d14713ca Mon Sep 17 00:00:00 2001
From: Alexander Morozov <amorozov на etersoft.ru>
Date: Thu, 12 Aug 2010 15:50:34 +0400
Subject: [PATCH 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 c8f0b55..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(*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