From: Steven Tamm Date: Mon, 28 Jun 2004 16:20:41 +0000 (+0000) Subject: macterm.c (XTread_socket): Correctly set the frame position X-Git-Tag: ttn-vms-21-2-B4~5613 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e439b9255d56a820723e10fdf9131da9afee34bb;p=emacs.git macterm.c (XTread_socket): Correctly set the frame position after the window is moved. --- diff --git a/src/ChangeLog b/src/ChangeLog index 1cdabd1fb1e..144e4890e8e 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2004-06-28 Steven Tamm + + * macterm.c (XTread_socket): Correctly set the frame position + after the window is moved. + 2004-06-28 Jan Dj,Ad(Brv * gtkutil.c (xg_get_image_for_pixmap): Call g_object_unref on diff --git a/src/macterm.c b/src/macterm.c index 55ae1b35d83..bef37addaa6 100644 --- a/src/macterm.c +++ b/src/macterm.c @@ -8084,6 +8084,25 @@ XTread_socket (sd, expected, hold_quit) 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 @@ XTread_socket (sd, expected, hold_quit) #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: