[ANNOUNCEMENT] Server Test 70

Kensuke Matsuzaki zakki@peppermint.jp
Tue Jan 14 10:49:00 GMT 2003


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);
+}



More information about the Cygwin-xfree mailing list