Date: Sunday, August 16, 2015 @ 19:39:58 Author: bgyorgy Revision: 138427
archrelease: copy trunk to community-i686, community-x86_64 Added: metacity/repos/community-i686/PKGBUILD (from rev 138426, metacity/trunk/PKGBUILD) metacity/repos/community-i686/fix-crasher.patch (from rev 138426, metacity/trunk/fix-crasher.patch) metacity/repos/community-i686/metacity.install (from rev 138426, metacity/trunk/metacity.install) metacity/repos/community-x86_64/PKGBUILD (from rev 138426, metacity/trunk/PKGBUILD) metacity/repos/community-x86_64/fix-crasher.patch (from rev 138426, metacity/trunk/fix-crasher.patch) metacity/repos/community-x86_64/metacity.install (from rev 138426, metacity/trunk/metacity.install) Deleted: metacity/repos/community-i686/PKGBUILD metacity/repos/community-i686/metacity.install metacity/repos/community-x86_64/PKGBUILD metacity/repos/community-x86_64/metacity.install ------------------------------------+ /PKGBUILD | 74 +++++++++++++++++++++++++ /metacity.install | 22 +++++++ community-i686/PKGBUILD | 28 --------- community-i686/fix-crasher.patch | 103 +++++++++++++++++++++++++++++++++++ community-i686/metacity.install | 11 --- community-x86_64/PKGBUILD | 28 --------- community-x86_64/fix-crasher.patch | 103 +++++++++++++++++++++++++++++++++++ community-x86_64/metacity.install | 11 --- 8 files changed, 302 insertions(+), 78 deletions(-) Deleted: community-i686/PKGBUILD =================================================================== --- community-i686/PKGBUILD 2015-08-16 17:39:48 UTC (rev 138426) +++ community-i686/PKGBUILD 2015-08-16 17:39:58 UTC (rev 138427) @@ -1,28 +0,0 @@ -# $Id$ -# Maintainer: Balló György <ballogyor+arch at gmail dot com> -# Contributor: Jan de Groot <j...@archlinux.org> - -pkgname=metacity -pkgver=3.16.1 -pkgrel=1 -pkgdesc="Legacy GNOME window manager" -arch=('i686' 'x86_64') -license=('GPL') -depends=('dconf' 'libcanberra' 'libgtop' 'libsm' 'gsettings-desktop-schemas' 'gtk3' 'startup-notification' 'zenity') -makedepends=('intltool' 'itstool') -url="https://wiki.gnome.org/Projects/Metacity" -install=metacity.install -source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('7a2e4ab7e19bfa5e6fc75d80d66e79f7965b5a51435c9675b0e895179d256f86') - -build() { - cd $pkgname-$pkgver - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \ - --disable-static --disable-schemas-compile - make -} - -package() { - cd $pkgname-$pkgver - make DESTDIR="$pkgdir" install -} Copied: metacity/repos/community-i686/PKGBUILD (from rev 138426, metacity/trunk/PKGBUILD) =================================================================== --- community-i686/PKGBUILD (rev 0) +++ community-i686/PKGBUILD 2015-08-16 17:39:58 UTC (rev 138427) @@ -0,0 +1,37 @@ +# $Id$ +# Maintainer: Balló György <ballogyor+arch at gmail dot com> +# Contributor: Jan de Groot <j...@archlinux.org> + +pkgname=metacity +pkgver=3.16.1 +pkgrel=2 +pkgdesc="Legacy GNOME window manager" +arch=('i686' 'x86_64') +license=('GPL') +depends=('dconf' 'libcanberra' 'libgtop' 'libsm' 'gsettings-desktop-schemas' 'gtk3' 'startup-notification' 'zenity') +makedepends=('intltool' 'itstool') +url="https://wiki.gnome.org/Projects/Metacity" +install=metacity.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz + fix-crasher.patch) +sha256sums=('7a2e4ab7e19bfa5e6fc75d80d66e79f7965b5a51435c9675b0e895179d256f86' + 'eb2a6043ff1a2fc0207a65c2bee18ada509108354379ddc12ef04566cfd7a524') + +prepare() { + cd $pkgname-$pkgver + + # Fix crasher + patch -Np1 -i ../fix-crasher.patch +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \ + --disable-static --disable-schemas-compile + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} Copied: metacity/repos/community-i686/fix-crasher.patch (from rev 138426, metacity/trunk/fix-crasher.patch) =================================================================== --- community-i686/fix-crasher.patch (rev 0) +++ community-i686/fix-crasher.patch 2015-08-16 17:39:58 UTC (rev 138427) @@ -0,0 +1,103 @@ +From a9f28dbc26f5211ef08889109db3dc8c7ba76aca Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alberts=20Muktup=C4=81vels?= <alberts.muktupav...@gmail.com> +Date: Tue, 7 Jul 2015 13:49:30 +0300 +Subject: compositor: fix possible crash closing/destroying window + +Partially restore call to destroy_win in compositor when calling +meta_window_free. This is needed to ensure that we never call +meta_window_get_frame_bounds while windows is destroying. + +https://bugzilla.gnome.org/show_bug.cgi?id=751833 + +diff --git a/src/compositor/compositor-private.h b/src/compositor/compositor-private.h +index 11ed73b..a45fdc9 100644 +--- a/src/compositor/compositor-private.h ++++ b/src/compositor/compositor-private.h +@@ -48,6 +48,9 @@ struct _MetaCompositor + MetaScreen *screen, + MetaWindow *window); + ++ void (*free_window) (MetaCompositor *compositor, ++ MetaWindow *window); ++ + void (*maximize_window) (MetaCompositor *compositor, + MetaWindow *window); + void (*unmaximize_window) (MetaCompositor *compositor, +diff --git a/src/compositor/compositor-xrender.c b/src/compositor/compositor-xrender.c +index 3bff70a..fbae9a7 100644 +--- a/src/compositor/compositor-xrender.c ++++ b/src/compositor/compositor-xrender.c +@@ -2799,23 +2799,38 @@ xrender_end_move (MetaCompositor *compositor, + #ifdef HAVE_COMPOSITE_EXTENSIONS + #endif + } ++#endif /* 0 */ + + static void + xrender_free_window (MetaCompositor *compositor, + MetaWindow *window) + { + #ifdef HAVE_COMPOSITE_EXTENSIONS +- /* FIXME: When an undecorated window is hidden this is called, +- but the window does not get readded if it is subsequentally shown again +- See http://bugzilla.gnome.org/show_bug.cgi?id=504876 +- +- I don't *think* theres any need for this call anyway, leaving it out +- does not seem to cause any side effects so far, but I should check with +- someone who understands more. */ +- /* destroy_win (compositor->display, window->xwindow, FALSE); */ ++ MetaCompositorXRender *xrc; ++ MetaFrame *frame; ++ Window xwindow; ++ ++ xrc = (MetaCompositorXRender *) compositor; ++ frame = meta_window_get_frame (window); ++ xwindow = None; ++ ++ if (frame) ++ { ++ xwindow = meta_frame_get_xwindow (frame); ++ } ++ else ++ { ++ /* FIXME: When an undecorated window is hidden this is called, but the ++ * window does not get readded if it is subsequentally shown again. See: ++ * http://bugzilla.gnome.org/show_bug.cgi?id=504876 ++ */ ++ /* xwindow = meta_window_get_xwindow (window); */ ++ } ++ ++ if (xwindow != None) ++ destroy_win (xrc->display, xwindow, FALSE); + #endif + } +-#endif /* 0 */ + + static void + xrender_process_event (MetaCompositor *compositor, +@@ -3095,6 +3110,7 @@ static MetaCompositor comp_info = { + xrender_process_event, + xrender_get_window_pixmap, + xrender_set_active_window, ++ xrender_free_window, + xrender_maximize_window, + xrender_unmaximize_window, + }; +diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c +index 0dcf2b2..1fea362 100644 +--- a/src/compositor/compositor.c ++++ b/src/compositor/compositor.c +@@ -154,6 +154,10 @@ void meta_compositor_end_move (MetaCompositor *compositor, + void meta_compositor_free_window (MetaCompositor *compositor, + MetaWindow *window) + { ++#ifdef HAVE_COMPOSITE_EXTENSIONS ++ if (compositor && compositor->free_window) ++ compositor->free_window (compositor, window); ++#endif + } + + void +-- +cgit v0.10.2 + Deleted: community-i686/metacity.install =================================================================== --- community-i686/metacity.install 2015-08-16 17:39:48 UTC (rev 138426) +++ community-i686/metacity.install 2015-08-16 17:39:58 UTC (rev 138427) @@ -1,11 +0,0 @@ -post_install() { - glib-compile-schemas /usr/share/glib-2.0/schemas -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} Copied: metacity/repos/community-i686/metacity.install (from rev 138426, metacity/trunk/metacity.install) =================================================================== --- community-i686/metacity.install (rev 0) +++ community-i686/metacity.install 2015-08-16 17:39:58 UTC (rev 138427) @@ -0,0 +1,11 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} Deleted: community-x86_64/PKGBUILD =================================================================== --- community-x86_64/PKGBUILD 2015-08-16 17:39:48 UTC (rev 138426) +++ community-x86_64/PKGBUILD 2015-08-16 17:39:58 UTC (rev 138427) @@ -1,28 +0,0 @@ -# $Id$ -# Maintainer: Balló György <ballogyor+arch at gmail dot com> -# Contributor: Jan de Groot <j...@archlinux.org> - -pkgname=metacity -pkgver=3.16.1 -pkgrel=1 -pkgdesc="Legacy GNOME window manager" -arch=('i686' 'x86_64') -license=('GPL') -depends=('dconf' 'libcanberra' 'libgtop' 'libsm' 'gsettings-desktop-schemas' 'gtk3' 'startup-notification' 'zenity') -makedepends=('intltool' 'itstool') -url="https://wiki.gnome.org/Projects/Metacity" -install=metacity.install -source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('7a2e4ab7e19bfa5e6fc75d80d66e79f7965b5a51435c9675b0e895179d256f86') - -build() { - cd $pkgname-$pkgver - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \ - --disable-static --disable-schemas-compile - make -} - -package() { - cd $pkgname-$pkgver - make DESTDIR="$pkgdir" install -} Copied: metacity/repos/community-x86_64/PKGBUILD (from rev 138426, metacity/trunk/PKGBUILD) =================================================================== --- community-x86_64/PKGBUILD (rev 0) +++ community-x86_64/PKGBUILD 2015-08-16 17:39:58 UTC (rev 138427) @@ -0,0 +1,37 @@ +# $Id$ +# Maintainer: Balló György <ballogyor+arch at gmail dot com> +# Contributor: Jan de Groot <j...@archlinux.org> + +pkgname=metacity +pkgver=3.16.1 +pkgrel=2 +pkgdesc="Legacy GNOME window manager" +arch=('i686' 'x86_64') +license=('GPL') +depends=('dconf' 'libcanberra' 'libgtop' 'libsm' 'gsettings-desktop-schemas' 'gtk3' 'startup-notification' 'zenity') +makedepends=('intltool' 'itstool') +url="https://wiki.gnome.org/Projects/Metacity" +install=metacity.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz + fix-crasher.patch) +sha256sums=('7a2e4ab7e19bfa5e6fc75d80d66e79f7965b5a51435c9675b0e895179d256f86' + 'eb2a6043ff1a2fc0207a65c2bee18ada509108354379ddc12ef04566cfd7a524') + +prepare() { + cd $pkgname-$pkgver + + # Fix crasher + patch -Np1 -i ../fix-crasher.patch +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \ + --disable-static --disable-schemas-compile + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} Copied: metacity/repos/community-x86_64/fix-crasher.patch (from rev 138426, metacity/trunk/fix-crasher.patch) =================================================================== --- community-x86_64/fix-crasher.patch (rev 0) +++ community-x86_64/fix-crasher.patch 2015-08-16 17:39:58 UTC (rev 138427) @@ -0,0 +1,103 @@ +From a9f28dbc26f5211ef08889109db3dc8c7ba76aca Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alberts=20Muktup=C4=81vels?= <alberts.muktupav...@gmail.com> +Date: Tue, 7 Jul 2015 13:49:30 +0300 +Subject: compositor: fix possible crash closing/destroying window + +Partially restore call to destroy_win in compositor when calling +meta_window_free. This is needed to ensure that we never call +meta_window_get_frame_bounds while windows is destroying. + +https://bugzilla.gnome.org/show_bug.cgi?id=751833 + +diff --git a/src/compositor/compositor-private.h b/src/compositor/compositor-private.h +index 11ed73b..a45fdc9 100644 +--- a/src/compositor/compositor-private.h ++++ b/src/compositor/compositor-private.h +@@ -48,6 +48,9 @@ struct _MetaCompositor + MetaScreen *screen, + MetaWindow *window); + ++ void (*free_window) (MetaCompositor *compositor, ++ MetaWindow *window); ++ + void (*maximize_window) (MetaCompositor *compositor, + MetaWindow *window); + void (*unmaximize_window) (MetaCompositor *compositor, +diff --git a/src/compositor/compositor-xrender.c b/src/compositor/compositor-xrender.c +index 3bff70a..fbae9a7 100644 +--- a/src/compositor/compositor-xrender.c ++++ b/src/compositor/compositor-xrender.c +@@ -2799,23 +2799,38 @@ xrender_end_move (MetaCompositor *compositor, + #ifdef HAVE_COMPOSITE_EXTENSIONS + #endif + } ++#endif /* 0 */ + + static void + xrender_free_window (MetaCompositor *compositor, + MetaWindow *window) + { + #ifdef HAVE_COMPOSITE_EXTENSIONS +- /* FIXME: When an undecorated window is hidden this is called, +- but the window does not get readded if it is subsequentally shown again +- See http://bugzilla.gnome.org/show_bug.cgi?id=504876 +- +- I don't *think* theres any need for this call anyway, leaving it out +- does not seem to cause any side effects so far, but I should check with +- someone who understands more. */ +- /* destroy_win (compositor->display, window->xwindow, FALSE); */ ++ MetaCompositorXRender *xrc; ++ MetaFrame *frame; ++ Window xwindow; ++ ++ xrc = (MetaCompositorXRender *) compositor; ++ frame = meta_window_get_frame (window); ++ xwindow = None; ++ ++ if (frame) ++ { ++ xwindow = meta_frame_get_xwindow (frame); ++ } ++ else ++ { ++ /* FIXME: When an undecorated window is hidden this is called, but the ++ * window does not get readded if it is subsequentally shown again. See: ++ * http://bugzilla.gnome.org/show_bug.cgi?id=504876 ++ */ ++ /* xwindow = meta_window_get_xwindow (window); */ ++ } ++ ++ if (xwindow != None) ++ destroy_win (xrc->display, xwindow, FALSE); + #endif + } +-#endif /* 0 */ + + static void + xrender_process_event (MetaCompositor *compositor, +@@ -3095,6 +3110,7 @@ static MetaCompositor comp_info = { + xrender_process_event, + xrender_get_window_pixmap, + xrender_set_active_window, ++ xrender_free_window, + xrender_maximize_window, + xrender_unmaximize_window, + }; +diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c +index 0dcf2b2..1fea362 100644 +--- a/src/compositor/compositor.c ++++ b/src/compositor/compositor.c +@@ -154,6 +154,10 @@ void meta_compositor_end_move (MetaCompositor *compositor, + void meta_compositor_free_window (MetaCompositor *compositor, + MetaWindow *window) + { ++#ifdef HAVE_COMPOSITE_EXTENSIONS ++ if (compositor && compositor->free_window) ++ compositor->free_window (compositor, window); ++#endif + } + + void +-- +cgit v0.10.2 + Deleted: community-x86_64/metacity.install =================================================================== --- community-x86_64/metacity.install 2015-08-16 17:39:48 UTC (rev 138426) +++ community-x86_64/metacity.install 2015-08-16 17:39:58 UTC (rev 138427) @@ -1,11 +0,0 @@ -post_install() { - glib-compile-schemas /usr/share/glib-2.0/schemas -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} Copied: metacity/repos/community-x86_64/metacity.install (from rev 138426, metacity/trunk/metacity.install) =================================================================== --- community-x86_64/metacity.install (rev 0) +++ community-x86_64/metacity.install 2015-08-16 17:39:58 UTC (rev 138427) @@ -0,0 +1,11 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +}