From 855928082b31e7cf7872d389905972bce4c3d82c Mon Sep 17 00:00:00 2001 From: Po Lu Date: Tue, 8 Feb 2022 19:57:01 +0800 Subject: [PATCH] Fix frame offset reporting on PGTK * src/pgtkterm.c (configure_event): Handle changes in window position. (bug#52697) --- src/pgtkterm.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/pgtkterm.c b/src/pgtkterm.c index 9d15b671dd2..e9fd5f83b72 100644 --- a/src/pgtkterm.c +++ b/src/pgtkterm.c @@ -5536,6 +5536,7 @@ configure_event (GtkWidget *widget, gpointer *user_data) { struct frame *f = pgtk_any_window_to_frame (event->configure.window); + if (f && widget == FRAME_GTK_OUTER_WIDGET (f)) { if (any_help_event_p) @@ -5548,6 +5549,15 @@ configure_event (GtkWidget *widget, help_echo_string = Qnil; gen_help_event (Qnil, frame, Qnil, Qnil, 0); } + + if (f->win_gravity == NorthWestGravity) + gtk_window_get_position (GTK_WINDOW (widget), + &f->top_pos, &f->left_pos); + else + { + f->top_pos = event->configure.y; + f->left_pos = event->configure.x; + } } return FALSE; } -- 2.39.5