Accepting request 260577 from home:badshah400:branches:GNOME:Factory
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). OBS-URL: https://build.opensuse.org/request/show/260577 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gtk3?expand=0&rev=166
This commit is contained in:
parent
9145262cf2
commit
5a5a95351e
58
gtk3-fix-screen-changes-csd.patch
Normal file
58
gtk3-fix-screen-changes-csd.patch
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
From d7bff60140225dff76befacf6eb2136c6723b794 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Matthias Clasen <mclasen@redhat.com>
|
||||||
|
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
|
@ -1,3 +1,10 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 3 16:50:56 UTC 2014 - badshah400@gmail.com
|
||||||
|
|
||||||
|
- 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).
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Oct 21 22:19:47 UTC 2014 - dimstar@opensuse.org
|
Tue Oct 21 22:19:47 UTC 2014 - dimstar@opensuse.org
|
||||||
|
|
||||||
|
@ -44,6 +44,8 @@ Patch1: gtk3-path-local.patch
|
|||||||
Patch3: gtk3-bnc130159-bgo319483-async-font-selection.patch
|
Patch3: gtk3-bnc130159-bgo319483-async-font-selection.patch
|
||||||
# PATCH-FIX-UPSTREAM gtk3-find-wayland-includedir.patch bgo#696507 zaitor@opensuse.org -- Make configure find wayland include files.
|
# PATCH-FIX-UPSTREAM gtk3-find-wayland-includedir.patch bgo#696507 zaitor@opensuse.org -- Make configure find wayland include files.
|
||||||
Patch4: gtk3-find-wayland-includedir.patch
|
Patch4: gtk3-find-wayland-includedir.patch
|
||||||
|
# PATCH-FIX-UPSTREAM gtk3-fix-screen-changes-csd.patch bgo#739812 badshah400@gmail.com -- 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: cups-devel >= 1.2
|
||||||
BuildRequires: docbook-xsl-stylesheets
|
BuildRequires: docbook-xsl-stylesheets
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
@ -332,6 +334,7 @@ cp -a %{S:1} .
|
|||||||
%if %{build_wayland_backend}
|
%if %{build_wayland_backend}
|
||||||
%patch4 -p1
|
%patch4 -p1
|
||||||
%endif
|
%endif
|
||||||
|
%patch5 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# Needed for patch1 and patch4
|
# Needed for patch1 and patch4
|
||||||
|
Loading…
Reference in New Issue
Block a user