commit:     70b354bc22ad67d1aadce6cac17f8be6cc771839
Author:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
AuthorDate: Tue May 12 17:59:48 2015 +0000
Commit:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
CommitDate: Tue May 12 18:02:18 2015 +0000
URL:        https://gitweb.gentoo.org/proj/gnome.git/commit/?id=70b354bc

media-libs/clutter: fix clutter initialization errors

made cheese unittests fail.

 media-libs/clutter/clutter-1.22.0.ebuild           |  5 ++-
 .../clutter/files/clutter-1.22.0-init-fixes.patch  | 43 ++++++++++++++++++++++
 2 files changed, 47 insertions(+), 1 deletion(-)

diff --git a/media-libs/clutter/clutter-1.22.0.ebuild 
b/media-libs/clutter/clutter-1.22.0.ebuild
index 31e329b..a1b6dda 100644
--- a/media-libs/clutter/clutter-1.22.0.ebuild
+++ b/media-libs/clutter/clutter-1.22.0.ebuild
@@ -75,6 +75,9 @@ src_prepare() {
        sed -e 's/^\(SUBDIRS =\)[^\]*/\1  accessibility conform/g' \
                -i tests/Makefile.in || die "in tests sed failed"
 
+       # Fix init issues when run under Xvfb for example, upstream #749256 
(master)
+       epatch "${FILESDIR}"/${PN}-1.22.0-init-fixes.patch
+
        gnome2_src_prepare
 }
 
@@ -105,5 +108,5 @@ src_configure() {
 }
 
 src_test() {
-       Xemake check -C tests/conform
+       LIBGL_DRIVERS_PATH="${EROOT}/usr/$(get_libdir)/mesa" Xemake check -C 
tests/conform
 }

diff --git a/media-libs/clutter/files/clutter-1.22.0-init-fixes.patch 
b/media-libs/clutter/files/clutter-1.22.0-init-fixes.patch
new file mode 100644
index 0000000..cc86452
--- /dev/null
+++ b/media-libs/clutter/files/clutter-1.22.0-init-fixes.patch
@@ -0,0 +1,43 @@
+From 438d739442be9e646caa2100942543301666074d Mon Sep 17 00:00:00 2001
+From: Matthieu Bouron <[email protected]>
+Date: Tue, 12 May 2015 11:16:35 +0200
+Subject: [PATCH] clutter-backend-gdk: Only set setting on successful
+ gdk_screen_get_setting call
+
+It could happen that gdk_screen_get_setting fails to retreive
+Gdk/WindowScalingFactor which leads to the following warnings when
+clutter_init is called:
+
+GLib-GObject-WARNING **: value "0" of type 'gint' is invalid or out of range 
for property 'window-scaling-factor' of type 'gint'
+GLib-GObject-WARNING **: value "0" of type 'gint' is invalid or out of range 
for property 'dnd-drag-threshold' of type 'gint'
+---
+ clutter/gdk/clutter-backend-gdk.c | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/clutter/gdk/clutter-backend-gdk.c 
b/clutter/gdk/clutter-backend-gdk.c
+index b4f7f1c..1e67c07 100644
+--- a/clutter/gdk/clutter-backend-gdk.c
++++ b/clutter/gdk/clutter-backend-gdk.c
+@@ -94,12 +94,14 @@ clutter_backend_gdk_init_settings (ClutterBackendGdk 
*backend_gdk)
+       GValue val = G_VALUE_INIT;
+ 
+       g_value_init (&val, CLUTTER_SETTING_TYPE(i));
+-      gdk_screen_get_setting (backend_gdk->screen,
++      if (gdk_screen_get_setting (backend_gdk->screen,
+                             CLUTTER_SETTING_GDK_NAME(i),
+-                            &val);
+-      clutter_settings_set_property_internal (settings,
+-                                              CLUTTER_SETTING_PROPERTY (i),
+-                                              &val);
++                            &val))
++        {
++          clutter_settings_set_property_internal (settings,
++                                                  CLUTTER_SETTING_PROPERTY 
(i),
++                                                  &val);
++        }
+       g_value_unset (&val);
+     }
+ }
+-- 
+2.3.7
+

Reply via email to