Date: Monday, March 14, 2016 @ 20:14:38 Author: heftig Revision: 261463
archrelease: copy trunk to extra-i686, extra-x86_64 Added: mutter/repos/extra-i686/PKGBUILD (from rev 261462, mutter/trunk/PKGBUILD) mutter/repos/extra-i686/mutter.install (from rev 261462, mutter/trunk/mutter.install) mutter/repos/extra-i686/pointer.patch (from rev 261462, mutter/trunk/pointer.patch) mutter/repos/extra-x86_64/PKGBUILD (from rev 261462, mutter/trunk/PKGBUILD) mutter/repos/extra-x86_64/mutter.install (from rev 261462, mutter/trunk/mutter.install) mutter/repos/extra-x86_64/pointer.patch (from rev 261462, mutter/trunk/pointer.patch) Deleted: mutter/repos/extra-i686/PKGBUILD mutter/repos/extra-i686/mutter.install mutter/repos/extra-x86_64/PKGBUILD mutter/repos/extra-x86_64/mutter.install -----------------------------+ /PKGBUILD | 92 ++++++++++++++++++++++++++++++++++++++++ /mutter.install | 38 ++++++++++++++++ extra-i686/PKGBUILD | 43 ------------------ extra-i686/mutter.install | 19 -------- extra-i686/pointer.patch | 96 ++++++++++++++++++++++++++++++++++++++++++ extra-x86_64/PKGBUILD | 43 ------------------ extra-x86_64/mutter.install | 19 -------- extra-x86_64/pointer.patch | 96 ++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 322 insertions(+), 124 deletions(-) Deleted: extra-i686/PKGBUILD =================================================================== --- extra-i686/PKGBUILD 2016-03-14 19:08:46 UTC (rev 261462) +++ extra-i686/PKGBUILD 2016-03-14 19:14:38 UTC (rev 261463) @@ -1,43 +0,0 @@ -# $Id$ -# Maintainer: Jan Alexander Steffens (heftig) <jan.steff...@gmail.com> -# Maintainer: Ionut Biru <ib...@archlinux.org> -# Contributor: Michael Kanis <mkanis_at_gmx_dot_de> - -pkgname=mutter -pkgver=3.18.3 -pkgrel=1 -pkgdesc="A window manager for GNOME" -arch=(i686 x86_64) -license=('GPL') -depends=('clutter' 'dconf' 'gobject-introspection-runtime' 'gsettings-desktop-schemas' 'libcanberra' 'startup-notification' 'zenity' 'libsm' 'gnome-desktop' 'upower' 'libxkbcommon-x11' 'gnome-settings-daemon' 'libgudev') -makedepends=('intltool' 'libxkbcommon-x11' 'gobject-introspection') -conflicts=('mutter-wayland') -replaces=('mutter-wayland') -url="http://www.gnome.org" -groups=('gnome') -options=('!emptydirs') -install=mutter.install -source=(https://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz) -sha256sums=('58dd88d5596bb0377ae3aed692b306995de45aefae9e215cfaf4b13287526846') - -prepare() { - cd "$pkgname-$pkgver" -} - -build() { - cd "$pkgname-$pkgver" - ./configure --prefix=/usr --sysconfdir=/etc \ - --libexecdir=/usr/lib/mutter \ - --localstatedir=/var --disable-static \ - --disable-schemas-compile --enable-compile-warnings=minimum - - #https://bugzilla.gnome.org/show_bug.cgi?id=655517 - sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool - - make -} - -package() { - cd "$pkgname-$pkgver" - make DESTDIR="$pkgdir" install -} Copied: mutter/repos/extra-i686/PKGBUILD (from rev 261462, mutter/trunk/PKGBUILD) =================================================================== --- extra-i686/PKGBUILD (rev 0) +++ extra-i686/PKGBUILD 2016-03-14 19:14:38 UTC (rev 261463) @@ -0,0 +1,46 @@ +# $Id$ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steff...@gmail.com> +# Maintainer: Ionut Biru <ib...@archlinux.org> +# Contributor: Michael Kanis <mkanis_at_gmx_dot_de> + +pkgname=mutter +pkgver=3.18.3 +pkgrel=2 +pkgdesc="A window manager for GNOME" +arch=(i686 x86_64) +license=('GPL') +depends=('clutter' 'dconf' 'gobject-introspection-runtime' 'gsettings-desktop-schemas' 'libcanberra' 'startup-notification' 'zenity' 'libsm' 'gnome-desktop' 'upower' 'libxkbcommon-x11' 'gnome-settings-daemon' 'libgudev') +makedepends=('intltool' 'libxkbcommon-x11' 'gobject-introspection') +conflicts=('mutter-wayland') +replaces=('mutter-wayland') +url="http://www.gnome.org" +groups=('gnome') +options=('!emptydirs') +install=mutter.install +source=(https://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz + pointer.patch) +sha256sums=('58dd88d5596bb0377ae3aed692b306995de45aefae9e215cfaf4b13287526846' + 'e413bbdaa7195f4604b77eee7239bad234ba0888acf45cbf372b55928a821a4e') + +prepare() { + cd "$pkgname-$pkgver" + patch -Np1 -i ../pointer.patch +} + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --libexecdir=/usr/lib/mutter \ + --localstatedir=/var --disable-static \ + --disable-schemas-compile --enable-compile-warnings=minimum + + #https://bugzilla.gnome.org/show_bug.cgi?id=655517 + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} Deleted: extra-i686/mutter.install =================================================================== --- extra-i686/mutter.install 2016-03-14 19:08:46 UTC (rev 261462) +++ extra-i686/mutter.install 2016-03-14 19:14:38 UTC (rev 261463) @@ -1,19 +0,0 @@ -pkgname=mutter - -post_install() { - glib-compile-schemas /usr/share/glib-2.0/schemas -} - -pre_upgrade() { - if [ -f /usr/share/gconf/schemas/$pkgname.schemas ]; then - /usr/sbin/gconfpkg --uninstall $pkgname - fi -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} Copied: mutter/repos/extra-i686/mutter.install (from rev 261462, mutter/trunk/mutter.install) =================================================================== --- extra-i686/mutter.install (rev 0) +++ extra-i686/mutter.install 2016-03-14 19:14:38 UTC (rev 261463) @@ -0,0 +1,19 @@ +pkgname=mutter + +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +pre_upgrade() { + if [ -f /usr/share/gconf/schemas/$pkgname.schemas ]; then + /usr/sbin/gconfpkg --uninstall $pkgname + fi +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} Copied: mutter/repos/extra-i686/pointer.patch (from rev 261462, mutter/trunk/pointer.patch) =================================================================== --- extra-i686/pointer.patch (rev 0) +++ extra-i686/pointer.patch 2016-03-14 19:14:38 UTC (rev 261463) @@ -0,0 +1,96 @@ +From 70f20c90bd627be842b40396cf0c898b357f2dd0 Mon Sep 17 00:00:00 2001 +From: Rui Matos <tiagoma...@gmail.com> +Date: Mon, 7 Mar 2016 17:24:13 +0100 +Subject: Handle meta_screen_get_monitor_for_point() returning NULL + +On the X11 backend we don't track the pointer position in +priv->current_x/y which remain set to zero. That means we never set +the clutter stage cursor if point 0,0 isn't covered by any monitor +since we return early. + +Commit 4bebc5e5fa8aade8a96c769bf2365abe0948f6ce introduced this to +avoid crashing on the prepare-at handlers when the cursor position +doesn't fall inside any monitor area but we can handle that higher up +in the stack. In that case, the sprite's scale doesn't matter since +the cursor won't be shown anyway so we can skip setting it. + +https://bugzilla.gnome.org/show_bug.cgi?id=763159 +--- + src/backends/meta-cursor-renderer.c | 15 --------------- + src/core/screen.c | 3 ++- + src/wayland/meta-wayland-pointer.c | 5 +++-- + 3 files changed, 5 insertions(+), 18 deletions(-) + +diff --git a/src/backends/meta-cursor-renderer.c b/src/backends/meta-cursor-renderer.c +index a76241b..48cd239 100644 +--- a/src/backends/meta-cursor-renderer.c ++++ b/src/backends/meta-cursor-renderer.c +@@ -27,8 +27,6 @@ + #include "meta-cursor-renderer.h" + + #include <meta/meta-backend.h> +-#include <backends/meta-backend-private.h> +-#include <backends/meta-monitor-manager-private.h> + #include <meta/util.h> + + #include <cogl/cogl.h> +@@ -118,14 +116,6 @@ meta_cursor_renderer_calculate_rect (MetaCursorRenderer *renderer, + }; + } + +-static gboolean +-is_cursor_in_monitors_area (int x, int y) +-{ +- MetaMonitorManager *monitor_manager = meta_backend_get_monitor_manager (meta_get_backend ()); +- return meta_monitor_manager_get_monitor_at_point (monitor_manager, +- (gfloat) x, (gfloat) y) >= 0; +-} +- + static void + update_cursor (MetaCursorRenderer *renderer, + MetaCursorSprite *cursor_sprite) +@@ -134,11 +124,6 @@ update_cursor (MetaCursorRenderer *renderer, + gboolean handled_by_backend; + gboolean should_redraw = FALSE; + +- /* do not render cursor if it is not on any monitor. Such situation +- * can occur e. g. after monitor hot-plug */ +- if (!is_cursor_in_monitors_area (priv->current_x, priv->current_y)) +- return; +- + if (cursor_sprite) + meta_cursor_sprite_prepare_at (cursor_sprite, + priv->current_x, +diff --git a/src/core/screen.c b/src/core/screen.c +index 19f7db5..7e098d7 100644 +--- a/src/core/screen.c ++++ b/src/core/screen.c +@@ -1267,7 +1267,8 @@ root_cursor_prepare_at (MetaCursorSprite *cursor_sprite, + monitor = meta_screen_get_monitor_for_point (screen, x, y); + + /* Reload the cursor texture if the scale has changed. */ +- meta_cursor_sprite_set_theme_scale (cursor_sprite, monitor->scale); ++ if (monitor) ++ meta_cursor_sprite_set_theme_scale (cursor_sprite, monitor->scale); + } + + static void +diff --git a/src/wayland/meta-wayland-pointer.c b/src/wayland/meta-wayland-pointer.c +index 894a64d..651e38b 100644 +--- a/src/wayland/meta-wayland-pointer.c ++++ b/src/wayland/meta-wayland-pointer.c +@@ -823,8 +823,9 @@ cursor_sprite_prepare_at (MetaCursorSprite *cursor_sprite, + if (!meta_xwayland_is_xwayland_surface (surface)) + { + monitor = meta_screen_get_monitor_for_point (screen, x, y); +- meta_cursor_sprite_set_texture_scale (cursor_sprite, +- (float)monitor->scale / surface->scale); ++ if (monitor) ++ meta_cursor_sprite_set_texture_scale (cursor_sprite, ++ (float)monitor->scale / surface->scale); + } + meta_wayland_surface_update_outputs (surface); + } +-- +cgit v0.12 + Deleted: extra-x86_64/PKGBUILD =================================================================== --- extra-x86_64/PKGBUILD 2016-03-14 19:08:46 UTC (rev 261462) +++ extra-x86_64/PKGBUILD 2016-03-14 19:14:38 UTC (rev 261463) @@ -1,43 +0,0 @@ -# $Id$ -# Maintainer: Jan Alexander Steffens (heftig) <jan.steff...@gmail.com> -# Maintainer: Ionut Biru <ib...@archlinux.org> -# Contributor: Michael Kanis <mkanis_at_gmx_dot_de> - -pkgname=mutter -pkgver=3.18.3 -pkgrel=1 -pkgdesc="A window manager for GNOME" -arch=(i686 x86_64) -license=('GPL') -depends=('clutter' 'dconf' 'gobject-introspection-runtime' 'gsettings-desktop-schemas' 'libcanberra' 'startup-notification' 'zenity' 'libsm' 'gnome-desktop' 'upower' 'libxkbcommon-x11' 'gnome-settings-daemon' 'libgudev') -makedepends=('intltool' 'libxkbcommon-x11' 'gobject-introspection') -conflicts=('mutter-wayland') -replaces=('mutter-wayland') -url="http://www.gnome.org" -groups=('gnome') -options=('!emptydirs') -install=mutter.install -source=(https://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz) -sha256sums=('58dd88d5596bb0377ae3aed692b306995de45aefae9e215cfaf4b13287526846') - -prepare() { - cd "$pkgname-$pkgver" -} - -build() { - cd "$pkgname-$pkgver" - ./configure --prefix=/usr --sysconfdir=/etc \ - --libexecdir=/usr/lib/mutter \ - --localstatedir=/var --disable-static \ - --disable-schemas-compile --enable-compile-warnings=minimum - - #https://bugzilla.gnome.org/show_bug.cgi?id=655517 - sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool - - make -} - -package() { - cd "$pkgname-$pkgver" - make DESTDIR="$pkgdir" install -} Copied: mutter/repos/extra-x86_64/PKGBUILD (from rev 261462, mutter/trunk/PKGBUILD) =================================================================== --- extra-x86_64/PKGBUILD (rev 0) +++ extra-x86_64/PKGBUILD 2016-03-14 19:14:38 UTC (rev 261463) @@ -0,0 +1,46 @@ +# $Id$ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steff...@gmail.com> +# Maintainer: Ionut Biru <ib...@archlinux.org> +# Contributor: Michael Kanis <mkanis_at_gmx_dot_de> + +pkgname=mutter +pkgver=3.18.3 +pkgrel=2 +pkgdesc="A window manager for GNOME" +arch=(i686 x86_64) +license=('GPL') +depends=('clutter' 'dconf' 'gobject-introspection-runtime' 'gsettings-desktop-schemas' 'libcanberra' 'startup-notification' 'zenity' 'libsm' 'gnome-desktop' 'upower' 'libxkbcommon-x11' 'gnome-settings-daemon' 'libgudev') +makedepends=('intltool' 'libxkbcommon-x11' 'gobject-introspection') +conflicts=('mutter-wayland') +replaces=('mutter-wayland') +url="http://www.gnome.org" +groups=('gnome') +options=('!emptydirs') +install=mutter.install +source=(https://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz + pointer.patch) +sha256sums=('58dd88d5596bb0377ae3aed692b306995de45aefae9e215cfaf4b13287526846' + 'e413bbdaa7195f4604b77eee7239bad234ba0888acf45cbf372b55928a821a4e') + +prepare() { + cd "$pkgname-$pkgver" + patch -Np1 -i ../pointer.patch +} + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --libexecdir=/usr/lib/mutter \ + --localstatedir=/var --disable-static \ + --disable-schemas-compile --enable-compile-warnings=minimum + + #https://bugzilla.gnome.org/show_bug.cgi?id=655517 + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} Deleted: extra-x86_64/mutter.install =================================================================== --- extra-x86_64/mutter.install 2016-03-14 19:08:46 UTC (rev 261462) +++ extra-x86_64/mutter.install 2016-03-14 19:14:38 UTC (rev 261463) @@ -1,19 +0,0 @@ -pkgname=mutter - -post_install() { - glib-compile-schemas /usr/share/glib-2.0/schemas -} - -pre_upgrade() { - if [ -f /usr/share/gconf/schemas/$pkgname.schemas ]; then - /usr/sbin/gconfpkg --uninstall $pkgname - fi -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} Copied: mutter/repos/extra-x86_64/mutter.install (from rev 261462, mutter/trunk/mutter.install) =================================================================== --- extra-x86_64/mutter.install (rev 0) +++ extra-x86_64/mutter.install 2016-03-14 19:14:38 UTC (rev 261463) @@ -0,0 +1,19 @@ +pkgname=mutter + +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +pre_upgrade() { + if [ -f /usr/share/gconf/schemas/$pkgname.schemas ]; then + /usr/sbin/gconfpkg --uninstall $pkgname + fi +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} Copied: mutter/repos/extra-x86_64/pointer.patch (from rev 261462, mutter/trunk/pointer.patch) =================================================================== --- extra-x86_64/pointer.patch (rev 0) +++ extra-x86_64/pointer.patch 2016-03-14 19:14:38 UTC (rev 261463) @@ -0,0 +1,96 @@ +From 70f20c90bd627be842b40396cf0c898b357f2dd0 Mon Sep 17 00:00:00 2001 +From: Rui Matos <tiagoma...@gmail.com> +Date: Mon, 7 Mar 2016 17:24:13 +0100 +Subject: Handle meta_screen_get_monitor_for_point() returning NULL + +On the X11 backend we don't track the pointer position in +priv->current_x/y which remain set to zero. That means we never set +the clutter stage cursor if point 0,0 isn't covered by any monitor +since we return early. + +Commit 4bebc5e5fa8aade8a96c769bf2365abe0948f6ce introduced this to +avoid crashing on the prepare-at handlers when the cursor position +doesn't fall inside any monitor area but we can handle that higher up +in the stack. In that case, the sprite's scale doesn't matter since +the cursor won't be shown anyway so we can skip setting it. + +https://bugzilla.gnome.org/show_bug.cgi?id=763159 +--- + src/backends/meta-cursor-renderer.c | 15 --------------- + src/core/screen.c | 3 ++- + src/wayland/meta-wayland-pointer.c | 5 +++-- + 3 files changed, 5 insertions(+), 18 deletions(-) + +diff --git a/src/backends/meta-cursor-renderer.c b/src/backends/meta-cursor-renderer.c +index a76241b..48cd239 100644 +--- a/src/backends/meta-cursor-renderer.c ++++ b/src/backends/meta-cursor-renderer.c +@@ -27,8 +27,6 @@ + #include "meta-cursor-renderer.h" + + #include <meta/meta-backend.h> +-#include <backends/meta-backend-private.h> +-#include <backends/meta-monitor-manager-private.h> + #include <meta/util.h> + + #include <cogl/cogl.h> +@@ -118,14 +116,6 @@ meta_cursor_renderer_calculate_rect (MetaCursorRenderer *renderer, + }; + } + +-static gboolean +-is_cursor_in_monitors_area (int x, int y) +-{ +- MetaMonitorManager *monitor_manager = meta_backend_get_monitor_manager (meta_get_backend ()); +- return meta_monitor_manager_get_monitor_at_point (monitor_manager, +- (gfloat) x, (gfloat) y) >= 0; +-} +- + static void + update_cursor (MetaCursorRenderer *renderer, + MetaCursorSprite *cursor_sprite) +@@ -134,11 +124,6 @@ update_cursor (MetaCursorRenderer *renderer, + gboolean handled_by_backend; + gboolean should_redraw = FALSE; + +- /* do not render cursor if it is not on any monitor. Such situation +- * can occur e. g. after monitor hot-plug */ +- if (!is_cursor_in_monitors_area (priv->current_x, priv->current_y)) +- return; +- + if (cursor_sprite) + meta_cursor_sprite_prepare_at (cursor_sprite, + priv->current_x, +diff --git a/src/core/screen.c b/src/core/screen.c +index 19f7db5..7e098d7 100644 +--- a/src/core/screen.c ++++ b/src/core/screen.c +@@ -1267,7 +1267,8 @@ root_cursor_prepare_at (MetaCursorSprite *cursor_sprite, + monitor = meta_screen_get_monitor_for_point (screen, x, y); + + /* Reload the cursor texture if the scale has changed. */ +- meta_cursor_sprite_set_theme_scale (cursor_sprite, monitor->scale); ++ if (monitor) ++ meta_cursor_sprite_set_theme_scale (cursor_sprite, monitor->scale); + } + + static void +diff --git a/src/wayland/meta-wayland-pointer.c b/src/wayland/meta-wayland-pointer.c +index 894a64d..651e38b 100644 +--- a/src/wayland/meta-wayland-pointer.c ++++ b/src/wayland/meta-wayland-pointer.c +@@ -823,8 +823,9 @@ cursor_sprite_prepare_at (MetaCursorSprite *cursor_sprite, + if (!meta_xwayland_is_xwayland_surface (surface)) + { + monitor = meta_screen_get_monitor_for_point (screen, x, y); +- meta_cursor_sprite_set_texture_scale (cursor_sprite, +- (float)monitor->scale / surface->scale); ++ if (monitor) ++ meta_cursor_sprite_set_texture_scale (cursor_sprite, ++ (float)monitor->scale / surface->scale); + } + meta_wayland_surface_update_outputs (surface); + } +-- +cgit v0.12 +