aboutsummaryrefslogtreecommitdiffstats
path: root/src/pgtkterm.c
diff options
context:
space:
mode:
authorPo Lu2022-02-08 19:57:01 +0800
committerPo Lu2022-02-08 19:57:22 +0800
commit855928082b31e7cf7872d389905972bce4c3d82c (patch)
tree567958177c3babf9c8b07bf2991777af26f93e4e /src/pgtkterm.c
parent996daa00ae3cab514a0f9fca0ee8b108f220677e (diff)
downloademacs-855928082b31e7cf7872d389905972bce4c3d82c.tar.gz
emacs-855928082b31e7cf7872d389905972bce4c3d82c.zip
Fix frame offset reporting on PGTK
* src/pgtkterm.c (configure_event): Handle changes in window position. (bug#52697)
Diffstat (limited to 'src/pgtkterm.c')
-rw-r--r--src/pgtkterm.c10
1 files changed, 10 insertions, 0 deletions
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,
5536 gpointer *user_data) 5536 gpointer *user_data)
5537{ 5537{
5538 struct frame *f = pgtk_any_window_to_frame (event->configure.window); 5538 struct frame *f = pgtk_any_window_to_frame (event->configure.window);
5539
5539 if (f && widget == FRAME_GTK_OUTER_WIDGET (f)) 5540 if (f && widget == FRAME_GTK_OUTER_WIDGET (f))
5540 { 5541 {
5541 if (any_help_event_p) 5542 if (any_help_event_p)
@@ -5548,6 +5549,15 @@ configure_event (GtkWidget *widget,
5548 help_echo_string = Qnil; 5549 help_echo_string = Qnil;
5549 gen_help_event (Qnil, frame, Qnil, Qnil, 0); 5550 gen_help_event (Qnil, frame, Qnil, Qnil, 0);
5550 } 5551 }
5552
5553 if (f->win_gravity == NorthWestGravity)
5554 gtk_window_get_position (GTK_WINDOW (widget),
5555 &f->top_pos, &f->left_pos);
5556 else
5557 {
5558 f->top_pos = event->configure.y;
5559 f->left_pos = event->configure.x;
5560 }
5551 } 5561 }
5552 return FALSE; 5562 return FALSE;
5553} 5563}