[arch-commits] Commit in mutter/repos (8 files)
Jan de Groot
jgc at archlinux.org
Tue Mar 22 20:05:04 UTC 2016
Date: Tuesday, March 22, 2016 @ 21:05:03
Author: jgc
Revision: 262411
archrelease: copy trunk to gnome-unstable-i686, gnome-unstable-x86_64
Added:
mutter/repos/gnome-unstable-i686/
mutter/repos/gnome-unstable-i686/PKGBUILD
(from rev 262410, mutter/trunk/PKGBUILD)
mutter/repos/gnome-unstable-i686/mutter.install
(from rev 262410, mutter/trunk/mutter.install)
mutter/repos/gnome-unstable-i686/pointer.patch
(from rev 262410, mutter/trunk/pointer.patch)
mutter/repos/gnome-unstable-x86_64/
mutter/repos/gnome-unstable-x86_64/PKGBUILD
(from rev 262410, mutter/trunk/PKGBUILD)
mutter/repos/gnome-unstable-x86_64/mutter.install
(from rev 262410, mutter/trunk/mutter.install)
mutter/repos/gnome-unstable-x86_64/pointer.patch
(from rev 262410, mutter/trunk/pointer.patch)
--------------------------------------+
gnome-unstable-i686/PKGBUILD | 39 +++++++++++++
gnome-unstable-i686/mutter.install | 19 ++++++
gnome-unstable-i686/pointer.patch | 96 +++++++++++++++++++++++++++++++++
gnome-unstable-x86_64/PKGBUILD | 39 +++++++++++++
gnome-unstable-x86_64/mutter.install | 19 ++++++
gnome-unstable-x86_64/pointer.patch | 96 +++++++++++++++++++++++++++++++++
6 files changed, 308 insertions(+)
Copied: mutter/repos/gnome-unstable-i686/PKGBUILD (from rev 262410, mutter/trunk/PKGBUILD)
===================================================================
--- gnome-unstable-i686/PKGBUILD (rev 0)
+++ gnome-unstable-i686/PKGBUILD 2016-03-22 20:05:03 UTC (rev 262411)
@@ -0,0 +1,39 @@
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
+# Maintainer: Ionut Biru <ibiru at archlinux.org>
+# Contributor: Michael Kanis <mkanis_at_gmx_dot_de>
+
+pkgname=mutter
+pkgver=3.20.0
+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' 'python2')
+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=('5644d297b69dd3fb465ed9d998e297667c06d9d372e49ded1d788548a38516f5')
+
+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/gnome-unstable-i686/mutter.install (from rev 262410, mutter/trunk/mutter.install)
===================================================================
--- gnome-unstable-i686/mutter.install (rev 0)
+++ gnome-unstable-i686/mutter.install 2016-03-22 20:05:03 UTC (rev 262411)
@@ -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/gnome-unstable-i686/pointer.patch (from rev 262410, mutter/trunk/pointer.patch)
===================================================================
--- gnome-unstable-i686/pointer.patch (rev 0)
+++ gnome-unstable-i686/pointer.patch 2016-03-22 20:05:03 UTC (rev 262411)
@@ -0,0 +1,96 @@
+From 70f20c90bd627be842b40396cf0c898b357f2dd0 Mon Sep 17 00:00:00 2001
+From: Rui Matos <tiagomatos at 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
+
Copied: mutter/repos/gnome-unstable-x86_64/PKGBUILD (from rev 262410, mutter/trunk/PKGBUILD)
===================================================================
--- gnome-unstable-x86_64/PKGBUILD (rev 0)
+++ gnome-unstable-x86_64/PKGBUILD 2016-03-22 20:05:03 UTC (rev 262411)
@@ -0,0 +1,39 @@
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
+# Maintainer: Ionut Biru <ibiru at archlinux.org>
+# Contributor: Michael Kanis <mkanis_at_gmx_dot_de>
+
+pkgname=mutter
+pkgver=3.20.0
+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' 'python2')
+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=('5644d297b69dd3fb465ed9d998e297667c06d9d372e49ded1d788548a38516f5')
+
+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/gnome-unstable-x86_64/mutter.install (from rev 262410, mutter/trunk/mutter.install)
===================================================================
--- gnome-unstable-x86_64/mutter.install (rev 0)
+++ gnome-unstable-x86_64/mutter.install 2016-03-22 20:05:03 UTC (rev 262411)
@@ -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/gnome-unstable-x86_64/pointer.patch (from rev 262410, mutter/trunk/pointer.patch)
===================================================================
--- gnome-unstable-x86_64/pointer.patch (rev 0)
+++ gnome-unstable-x86_64/pointer.patch 2016-03-22 20:05:03 UTC (rev 262411)
@@ -0,0 +1,96 @@
+From 70f20c90bd627be842b40396cf0c898b357f2dd0 Mon Sep 17 00:00:00 2001
+From: Rui Matos <tiagomatos at 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
+
More information about the arch-commits
mailing list