Hello community,

here is the log from the commit of package gtk3 for openSUSE:Factory checked in 
at 2014-11-13 09:16:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gtk3 (Old)
 and      /work/SRC/openSUSE:Factory/.gtk3.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gtk3"

Changes:
--------
--- /work/SRC/openSUSE:Factory/gtk3/gtk3.changes        2014-10-29 
21:09:03.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.gtk3.new/gtk3.changes   2014-11-13 
09:17:16.000000000 +0100
@@ -1,0 +2,12 @@
+Sun Nov 09 04:21:00 UTC 2014 - Led <[email protected]>
+
+- fix bashism in post script
+
+-------------------------------------------------------------------
+Mon Nov  3 16:50:56 UTC 2014 - [email protected]
+
+- Add gtk3-fix-screen-changes-csd.patch: fixes a problem with
+  screen changes and csd that caused some applications to launch
+  with ugly black borders (bgo#739812).
+
+-------------------------------------------------------------------
@@ -5 +17,2 @@
-  + Bugs fixed: bgo#730893, bgo#737986, bgo#738636, bgo#738873.
+  + Bugs fixed: bgo#730893, bgo#737986, bgo#738636, bgo#738873,
+    boo#900854.

New:
----
  gtk3-fix-screen-changes-csd.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gtk3.spec ++++++
--- /var/tmp/diff_new_pack.I7xfFj/_old  2014-11-13 09:17:17.000000000 +0100
+++ /var/tmp/diff_new_pack.I7xfFj/_new  2014-11-13 09:17:17.000000000 +0100
@@ -44,6 +44,8 @@
 Patch3:         gtk3-bnc130159-bgo319483-async-font-selection.patch
 # PATCH-FIX-UPSTREAM gtk3-find-wayland-includedir.patch bgo#696507 
[email protected] -- Make configure find wayland include files.
 Patch4:         gtk3-find-wayland-includedir.patch
+# PATCH-FIX-UPSTREAM gtk3-fix-screen-changes-csd.patch bgo#739812 
[email protected] -- Fix a problem with screen changes and csd that caused 
some applications to launch with ugly black borders
+Patch5:         gtk3-fix-screen-changes-csd.patch
 BuildRequires:  cups-devel >= 1.2
 BuildRequires:  docbook-xsl-stylesheets
 BuildRequires:  fdupes
@@ -332,6 +334,7 @@
 %if %{build_wayland_backend}
 %patch4 -p1
 %endif
+%patch5 -p1
 
 %build
 # Needed for patch1 and patch4
@@ -436,7 +439,7 @@
 # %{_libdir}/gtk-3.0/%{gtk_binary_version} already exists) which means
 # gtk-query-immodules-3.0 couldn't run there.
 %endif
-if [ $1 == 1 ]; then
+if [ $1 = 1 ]; then
   test -d %{_libdir}/gtk-3.0/%{gtk_binary_version}
   if test $? -eq 0; then
     %{_gtk_query_immodules_update_cache}

++++++ gtk3-fix-screen-changes-csd.patch ++++++
>From d7bff60140225dff76befacf6eb2136c6723b794 Mon Sep 17 00:00:00 2001
From: Matthias Clasen <[email protected]>
Date: Fri, 24 Oct 2014 13:30:19 -0400
Subject: Fix a problem with screen changes and csd

When a new screen is set on a window, we unrealize it, to
recreate all the resources. But we don't reset the client_decorated
flag, so realize() doesn't call create_decoration() - which makes
sense, since the decoration already exists. But the side-effect
of create_decoration() is to select the rgba visual, and visuals
are per-screen.

Fix this by looking for the rgba visual in set_screen(), and
replacing it with the rgba visual for the new screen, if necessary.

diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 367d88c..e846c41 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -10272,6 +10272,7 @@ gtk_window_set_screen (GtkWindow *window,
   GtkWindowPrivate *priv;
   GtkWidget *widget;
   GdkScreen *previous_screen;
+  gboolean was_rgba;
   gboolean was_mapped;
 
   g_return_if_fail (GTK_IS_WINDOW (window));
@@ -10285,6 +10286,12 @@ gtk_window_set_screen (GtkWindow *window,
   widget = GTK_WIDGET (window);
 
   previous_screen = priv->screen;
+
+  if (gdk_screen_get_rgba_visual (previous_screen) == gtk_widget_get_visual 
(widget))
+    was_rgba = TRUE;
+  else
+    was_rgba = FALSE;
+
   was_mapped = gtk_widget_get_mapped (widget);
 
   if (was_mapped)
@@ -10318,6 +10325,15 @@ gtk_window_set_screen (GtkWindow *window,
     }
   g_object_notify (G_OBJECT (window), "screen");
 
+  if (was_rgba)
+    {
+      GdkVisual *visual;
+
+      visual = gdk_screen_get_rgba_visual (screen);
+      if (visual)
+        gtk_widget_set_visual (widget, visual);
+    }
+
   if (was_mapped)
     gtk_widget_map (widget);
 
-- 
cgit v0.10.1
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to