Hi,

This is patch for that problem.

Kensuke Matsuzaki

--- ./winmultiwindowwindow.c    2003-01-12 12:36:45.000000000 +0900
+++ ../old/winmultiwindowwindow.c       2003-01-14 10:59:18.000000000 +0900
@@ -17,6 +17,9 @@
 static XID
 winGetWindowID(WindowPtr pWin);
 
+static void
+SendConfigureNotify(WindowPtr pWin);
+
 static UINT s_nIDPollingMouse = 2;
 static BOOL s_fMoveByX = FALSE;
 
@@ -710,6 +713,11 @@
       ErrorF ("\t(%d, %d)\n", pWinPriv->iX, pWinPriv->iY);
 #endif
 
+      if (SubStrSend(pWin, pWin->parent))
+       {
+         SendConfigureNotify (pWin);
+       }
+
       (s_pScreen->MoveWindow)(pWin,
                              (int)(short) LOWORD(lParam) - wBorderWidth (pWin),
                              (int)(short) HIWORD(lParam) - wBorderWidth (pWin),
@@ -818,23 +826,10 @@
                                             wClient(pWin)) == 1)
                break;
            }
-         
+
          if (SubStrSend(pWin, pWin->parent))
            {
-             xEvent event;
-             event.u.u.type = ConfigureNotify;
-             event.u.configureNotify.window = pWin->drawable.id;
-             if (pWin->nextSib)
-               event.u.configureNotify.aboveSibling = pWin->nextSib->drawable.id;
-             else
-               event.u.configureNotify.aboveSibling = None;
-             event.u.configureNotify.x = pWinPriv->iX - wBorderWidth (pWin);
-             event.u.configureNotify.y = pWinPriv->iY - wBorderWidth (pWin);
-             event.u.configureNotify.width = pWinPriv->iWidth;
-             event.u.configureNotify.height = pWinPriv->iHeight;
-             event.u.configureNotify.borderWidth = wBorderWidth (pWin);
-             event.u.configureNotify.override = pWin->overrideRedirect;
-             DeliverEvents(pWin, &event, 1, NullWindow);
+             SendConfigureNotify (pWin);
            }
          
          (s_pScreen->ResizeWindow)(pWin,
@@ -1085,3 +1080,24 @@
 #endif
   return wi.id;
 }
+
+static void
+SendConfigureNotify(WindowPtr pWin)
+{
+  xEvent event;
+  winWindowPriv(pWin);
+
+  event.u.u.type = ConfigureNotify;
+  event.u.configureNotify.window = pWin->drawable.id;
+  if (pWin->nextSib)
+    event.u.configureNotify.aboveSibling = pWin->nextSib->drawable.id;
+  else
+    event.u.configureNotify.aboveSibling = None;
+  event.u.configureNotify.x = pWinPriv->iX - wBorderWidth (pWin);
+  event.u.configureNotify.y = pWinPriv->iY - wBorderWidth (pWin);
+  event.u.configureNotify.width = pWinPriv->iWidth;
+  event.u.configureNotify.height = pWinPriv->iHeight;
+  event.u.configureNotify.borderWidth = wBorderWidth (pWin);
+  event.u.configureNotify.override = pWin->overrideRedirect;
+  DeliverEvents(pWin, &event, 1, NullWindow);
+}

Reply via email to