diff options
-rw-r--r-- | hw/xwin/ChangeLog | 5 | ||||
-rwxr-xr-x | hw/xwin/winmultiwindowwndproc.c | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/hw/xwin/ChangeLog b/hw/xwin/ChangeLog index ed7f7b200..2a4587d1f 100644 --- a/hw/xwin/ChangeLog +++ b/hw/xwin/ChangeLog @@ -1,3 +1,8 @@ +2005-04-19 Alexander Gottwald <ago at freedesktop dot org> + + * winmultiwindowwndproc.c: + Prevent recursive calls to winRaiseWindow. + 2005-03-10 Alexander Gottwald <ago at freedesktop dot org> * winmultiwindowwndproc.c: diff --git a/hw/xwin/winmultiwindowwndproc.c b/hw/xwin/winmultiwindowwndproc.c index a732d5307..93ddcd4b3 100755 --- a/hw/xwin/winmultiwindowwndproc.c +++ b/hw/xwin/winmultiwindowwndproc.c @@ -266,15 +266,19 @@ ValidateSizing (HWND hwnd, WindowPtr pWin, } extern Bool winInDestroyWindowsWindow; +static Bool winInRaiseWindow = FALSE; static void winRaiseWindow(WindowPtr pWin) { - if (!winInDestroyWindowsWindow) + if (!winInDestroyWindowsWindow && !winInRaiseWindow) { + BOOL oldstate = winInRaiseWindow; + winInRaiseWindow = TRUE; /* Call configure window directly to make sure it gets processed * in time */ XID vlist[1] = { 0 }; ConfigureWindow(pWin, CWStackMode, vlist, NULL); + winInRaiseWindow = oldstate; } } |