changeset 56271:98f2b9da67f0

macterm.c (XTread_socket): Correctly set the frame position after the window is moved.
author Steven Tamm <steventamm@mac.com>
date Mon, 28 Jun 2004 16:20:41 +0000
parents 78dc44def80f
children 134a7ba00965
files src/ChangeLog src/macterm.c
diffstat 2 files changed, 36 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Mon Jun 28 14:40:42 2004 +0000
+++ b/src/ChangeLog	Mon Jun 28 16:20:41 2004 +0000
@@ -1,3 +1,8 @@
+2004-06-28  Steven Tamm  <tamm@Steven-Tamms-Computer.local>
+
+	* macterm.c (XTread_socket): Correctly set the frame position
+	after the window is moved.
+
 2004-06-28  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
 	* gtkutil.c (xg_get_image_for_pixmap): Call g_object_unref on
--- a/src/macterm.c	Mon Jun 28 14:40:42 2004 +0000
+++ b/src/macterm.c	Mon Jun 28 16:20:41 2004 +0000
@@ -8084,6 +8084,25 @@
       if (!mac_convert_event_ref (eventRef, &er))
 	switch (GetEventClass (eventRef))
 	  {
+	  case kEventClassWindow:
+	    if (GetEventKind (eventRef) == kEventWindowBoundsChanged) 
+	      {
+		WindowPtr window_ptr;
+		GetEventParameter(eventRef, kEventParamDirectObject,
+				  typeWindowRef, NULL, sizeof(WindowPtr),
+				  NULL, &window_ptr);
+		f = mac_window_to_frame (window_ptr);
+		if (f && !f->async_iconified)
+		  {
+		    int x, y;
+		    
+		    x_real_positions (f, &x, &y);
+		    f->left_pos = x;
+		    f->top_pos = y;
+		  }
+		SendEventToEventTarget (eventRef, toolbox_dispatcher);
+	      }
+	    break;
 	  case kEventClassMouse:
 	    if (GetEventKind (eventRef) == kEventMouseWheelMoved)
 	      {
@@ -8306,6 +8325,18 @@
 #else /* not TARGET_API_MAC_CARBON */
 		DragWindow (window_ptr, er.where, &qd.screenBits.bounds);
 #endif /* not TARGET_API_MAC_CARBON */
+		/* Update the frame parameters.  */
+		{
+		  struct frame *f = mac_window_to_frame (window_ptr);
+		  if (f && !f->async_iconified)
+		    {
+		      int x, y;
+		      
+		      x_real_positions (f, &x, &y);
+		      f->left_pos = x;
+		      f->top_pos = y;
+		    }
+		}
 		break;
 
 	      case inGoAway: