macterm.c (XTread_socket): Correctly set the frame position

after the window is moved.
This commit is contained in:
Steven Tamm 2004-06-28 16:20:41 +00:00
parent dfab762fc9
commit e439b9255d
2 changed files with 36 additions and 0 deletions

View file

@ -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

View file

@ -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: