[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