diff options
-rw-r--r-- | app-editors/gvim/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch | 39 | ||||
-rw-r--r-- | app-editors/gvim/0002-Further-fix-widget-sizing.patch | 29 |
2 files changed, 68 insertions, 0 deletions
diff --git a/app-editors/gvim/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch b/app-editors/gvim/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch new file mode 100644 index 0000000..ea5df7a --- /dev/null +++ b/app-editors/gvim/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch @@ -0,0 +1,39 @@ +From 0060136ccbe78ff791e5bd732510cff12094bec9 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> +Date: Sun, 23 Oct 2016 21:12:15 +0200 +Subject: [PATCH 1/2] Fix widget sizing on current Gtk+ 3.22 branch + +Gtk recently started emitting configure events when repositioning child +windows[1]. Events for the form's child windows bubble up the widget +hierarchy, get caught by our configure event handler, and treated as if +they were reporting the size of the form window. As a result, the shell +was sized using far too small dimensions[2][3]. This change will be part +of Gtk+ 3.22.2. + +Solve this by checking whether the configure event we get is really for +the form widget. + +[1]: https://git.gnome.org/browse/gtk+/commit/?h=gtk-3-22&id=12579fe71b3b8f79eb9c1b80e429443bcc437dd0 +[2]: https://bugs.archlinux.org/task/51509 +[3]: https://bugzilla.gnome.org/show_bug.cgi?id=773387 +--- + src/gui_gtk_x11.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c +index 388464215fadc3b5..bf3c99ad9a043ad9 100644 +--- a/src/gui_gtk_x11.c ++++ b/src/gui_gtk_x11.c +@@ -4429,6 +4429,9 @@ form_configure_event(GtkWidget *widget UNUSED, + { + int usable_height = event->height; + ++ if (event->window != gtk_widget_get_window (gui.formwin)) ++ return TRUE; ++ + /* When in a GtkPlug, we can't guarantee valid heights (as a round + * no. of char-heights), so we have to manually sanitise them. + * Widths seem to sort themselves out, don't ask me why. +-- +2.10.1 + diff --git a/app-editors/gvim/0002-Further-fix-widget-sizing.patch b/app-editors/gvim/0002-Further-fix-widget-sizing.patch new file mode 100644 index 0000000..31c67a5 --- /dev/null +++ b/app-editors/gvim/0002-Further-fix-widget-sizing.patch @@ -0,0 +1,29 @@ +From ba1eefe7a2f52e1d8d16b51f12c6aba57148fb19 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> +Date: Mon, 24 Oct 2016 19:26:36 +0200 +Subject: [PATCH 2/2] Further fix widget sizing + +Follow-up by ofourdan in order to fix resizing on maximization. This +makes the drawing area ignore configure events that weren't explicitly +sent (such as from GtkForm). +--- + src/gui_gtk_x11.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c +index bf3c99ad9a043ad9..71dc08ff3dc99c19 100644 +--- a/src/gui_gtk_x11.c ++++ b/src/gui_gtk_x11.c +@@ -3099,6 +3099,9 @@ drawarea_configure_event_cb(GtkWidget *widget, + if (event->width == cur_width && event->height == cur_height) + return TRUE; + ++ if (event->send_event == FALSE) ++ return TRUE; ++ + cur_width = event->width; + cur_height = event->height; + +-- +2.10.1 + |