diff options
author | root <root@rshg054.dnsready.net> | 2011-12-12 23:14:53 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2011-12-12 23:14:53 +0000 |
commit | cb9c375209c236c16557878a1b864f91de27b88d (patch) | |
tree | b0a7d6c0d887620c16ad1a95c9dfef632cb1b877 /extra/gtk3 | |
parent | 22b0fa480661b6247dabf39059fe629e1d233a9a (diff) |
Mon Dec 12 23:14:53 UTC 2011
Diffstat (limited to 'extra/gtk3')
-rw-r--r-- | extra/gtk3/PKGBUILD | 11 | ||||
-rw-r--r-- | extra/gtk3/moveresize.patch | 47 |
2 files changed, 54 insertions, 4 deletions
diff --git a/extra/gtk3/PKGBUILD b/extra/gtk3/PKGBUILD index 424492fe1..f97ac0662 100644 --- a/extra/gtk3/PKGBUILD +++ b/extra/gtk3/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 143841 2011-11-29 20:18:51Z ibiru $ +# $Id: PKGBUILD 144950 2011-12-11 21:22:27Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=gtk3 pkgver=3.2.2 -pkgrel=3 +pkgrel=4 pkgdesc="GTK+ is a multi-platform toolkit (v3)" arch=('i686' 'x86_64') url="http://www.gtk.org/" @@ -15,14 +15,17 @@ backup=(etc/gtk-3.0/settings.ini) license=('LGPL') source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/3.2/gtk+-$pkgver.tar.xz settings.ini - filechooserdefault_do_not_unref_value_twice.patch) + filechooserdefault_do_not_unref_value_twice.patch + moveresize.patch) sha256sums=('f7ec82de393cd7ae2aa45022576400941704709d1f0f35fb0b17f3be1f2e7d84' 'c214d3dcdcadda3d642112287524ab3e526ad592b70895c9f3e3733c23701621' - '0d6b04d5fc12b7c08e0cff4b94d001d5c167a944b72579fb14fd6de2ee4ad9e6') + '0d6b04d5fc12b7c08e0cff4b94d001d5c167a944b72579fb14fd6de2ee4ad9e6' + '627f430ccecc95ec61d9a83607469e71e95568c077f7bda849a7fe1c02d0bea7') build() { cd "$srcdir/gtk+-$pkgver" patch -Np1 -i "$srcdir/filechooserdefault_do_not_unref_value_twice.patch" + patch -Np1 -i "$srcdir/moveresize.patch" CXX=/bin/false ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ diff --git a/extra/gtk3/moveresize.patch b/extra/gtk3/moveresize.patch new file mode 100644 index 000000000..a2795fcc8 --- /dev/null +++ b/extra/gtk3/moveresize.patch @@ -0,0 +1,47 @@ +From 89c90ed193331d2ee96f323e10aaafd4366f4b0e Mon Sep 17 00:00:00 2001 +From: Matthias Clasen <mclasen@redhat.com> +Date: Sat, 10 Dec 2011 02:21:09 +0000 +Subject: Fix move-resize emulation with XI2 + +https://bugzilla.gnome.org/show_bug.cgi?id=650943 +--- +diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c +index 1ff816e..d48927f 100644 +--- a/gdk/x11/gdkwindow-x11.c ++++ b/gdk/x11/gdkwindow-x11.c +@@ -4296,6 +4296,33 @@ _gdk_x11_moveresize_handle_event (XEvent *event) + if (event->xbutton.button == mv_resize->moveresize_button) + finish_drag (mv_resize); + break; ++ ++#ifdef HAVE_XGENERICEVENTS ++ case GenericEvent: ++ { ++ /* we just assume this is an XI2 event */ ++ XIEvent *ev = (XIEvent *) event->xcookie.data; ++ XIDeviceEvent *xev = (XIDeviceEvent *)ev; ++ gint state; ++ switch (ev->evtype) ++ { ++ case XI_Motion: ++ update_pos (mv_resize, xev->root_x, xev->root_y); ++ state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group); ++ if ((state & button_mask) == 0) ++ finish_drag (mv_resize); ++ break; ++ ++ case XI_ButtonRelease: ++ update_pos (mv_resize, xev->root_x, xev->root_y); ++ if (xev->detail == mv_resize->moveresize_button) ++ finish_drag (mv_resize); ++ break; ++ } ++ } ++ break; ++#endif ++ + } + return TRUE; + } +-- +cgit v0.9.0.2 |