summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hw/xwin/ChangeLog5
-rwxr-xr-xhw/xwin/winmultiwindowwndproc.c6
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;
}
}