diff options
author | Po Lu <luangruo@yahoo.com> | 2022-02-08 19:57:01 +0800 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2022-02-08 19:57:22 +0800 |
commit | 855928082b31e7cf7872d389905972bce4c3d82c (patch) | |
tree | 567958177c3babf9c8b07bf2991777af26f93e4e /src | |
parent | 996daa00ae3cab514a0f9fca0ee8b108f220677e (diff) | |
download | emacs-855928082b31e7cf7872d389905972bce4c3d82c.tar.gz emacs-855928082b31e7cf7872d389905972bce4c3d82c.tar.bz2 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')
-rw-r--r-- | src/pgtkterm.c | 10 |
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, 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; } |