Mercurial > emacs
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: