Date: Sunday, October 23, 2016 @ 19:33:23 Author: heftig Revision: 279189
8.0.0046-1 Added: vim/trunk/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch Modified: vim/trunk/PKGBUILD ---------------------------------------------------------+ 0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch | 39 ++++++++++++++ PKGBUILD | 8 ++ 2 files changed, 45 insertions(+), 2 deletions(-) Added: 0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch =================================================================== --- 0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch (rev 0) +++ 0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch 2016-10-23 19:33:23 UTC (rev 279189) @@ -0,0 +1,39 @@ +From feb38a618c1e1035f10ebde3cfa1f329daea67c3 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" <jan.steff...@gmail.com> +Date: Sun, 23 Oct 2016 21:12:15 +0200 +Subject: [PATCH] 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..35fee511a616db5a 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; ++ + /* 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 + Modified: PKGBUILD =================================================================== --- PKGBUILD 2016-10-23 18:59:23 UTC (rev 279188) +++ PKGBUILD 2016-10-23 19:33:23 UTC (rev 279189) @@ -8,7 +8,7 @@ pkgbase=vim pkgname=(vim gvim vim-runtime) -pkgver=8.0.0013 +pkgver=8.0.0046 _versiondir=80 pkgrel=1 arch=(i686 x86_64) @@ -16,9 +16,11 @@ url='http://www.vim.org' makedepends=(gpm python2 python ruby libxt gtk3 lua gawk tcl) source=(vim-$pkgver.tar.gz::http://github.com/vim/vim/archive/v$pkgver.tar.gz + 0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch vimrc archlinux.vim) -sha1sums=('605be1eddc4501aea7c83b72a63b9ade6da5d43b' +sha1sums=('28b81536dfa01abd86f084dd6c02f5a2c47b7dec' + 'b566870f0b75f68a9ec3b5cc617f4c76843e8ce3' '539bfaa0517dfff6d61c37f9c2d81a0db756a4c9' '94f7bb87b5d06bace86bc4b3ef1372813b4eedf2') @@ -25,6 +27,8 @@ prepare() { cd vim-$pkgver/src + patch -Np2 -i "$srcdir"/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch + # define the place for the global (g)vimrc file (set to /etc/vimrc) sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' feature.h sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' feature.h