summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2010-11-12 19:25:12 -0500
committerMatthias Clasen <mclasen@redhat.com>2010-11-12 19:25:12 -0500
commit87b48380318aa09a8f2a9a77352413c32ac2a48b (patch)
treebd8de2ce0b5d8eba7e22f1776b33a74d3b914b5b
parentBump glib dep (diff)
downloadgtk3-classic-build-gtk3-87b48380318aa09a8f2a9a77352413c32ac2a48b.tar.gz
gtk3-classic-build-gtk3-87b48380318aa09a8f2a9a77352413c32ac2a48b.tar.bz2
gtk3-classic-build-gtk3-87b48380318aa09a8f2a9a77352413c32ac2a48b.zip
fix a gnome-terminal problem
-rw-r--r--0001-Fix-a-crash-in-gnome-terminal-when-using-a-composito.patch39
-rw-r--r--gtk3.spec9
2 files changed, 47 insertions, 1 deletions
diff --git a/0001-Fix-a-crash-in-gnome-terminal-when-using-a-composito.patch b/0001-Fix-a-crash-in-gnome-terminal-when-using-a-composito.patch
new file mode 100644
index 0000000..9ed807b
--- /dev/null
+++ b/0001-Fix-a-crash-in-gnome-terminal-when-using-a-composito.patch
@@ -0,0 +1,39 @@
+From 45498417c8405ad9ca3d8cd94940d6fb2702ec43 Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen@redhat.com>
+Date: Fri, 12 Nov 2010 19:19:48 -0500
+Subject: [PATCH] Fix a crash in gnome-terminal when using a compositor
+
+In this case, gnome-terminal sets an RGBA visual on its window,
+and we need to be careful when creating the icon pixmap, to create
+the pixmap with the same depth as the visual, or we risk a BadMatch
+from XRenderCreatePicture deep inside cairo.
+---
+ gdk/x11/gdkwindow-x11.c | 6 ++++--
+ 1 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
+index 9f54ddc..88d8510 100644
+--- a/gdk/x11/gdkwindow-x11.c
++++ b/gdk/x11/gdkwindow-x11.c
+@@ -278,14 +278,16 @@ gdk_x11_window_create_pixmap_surface (GdkWindow *window,
+ {
+ cairo_surface_t *surface;
+ Pixmap pixmap;
++ GdkVisual *visual;
+
++ visual = gdk_window_get_visual (window);
+ pixmap = XCreatePixmap (GDK_WINDOW_XDISPLAY (window),
+ GDK_WINDOW_XID (window),
+ width, height,
+- DefaultDepthOfScreen (GDK_SCREEN_XSCREEN (GDK_WINDOW_SCREEN (window))));
++ gdk_visual_get_depth (visual));
+ surface = cairo_xlib_surface_create (GDK_WINDOW_XDISPLAY (window),
+ pixmap,
+- GDK_VISUAL_XVISUAL (gdk_window_get_visual (window)),
++ GDK_VISUAL_XVISUAL (visual),
+ width, height);
+ attach_free_pixmap_handler (surface, GDK_WINDOW_DISPLAY (window), pixmap);
+
+--
+1.7.3.2
+
diff --git a/gtk3.spec b/gtk3.spec
index 8348c1a..86922a2 100644
--- a/gtk3.spec
+++ b/gtk3.spec
@@ -11,7 +11,7 @@
Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X
Name: gtk3
Version: 2.91.4
-Release: 1%{?dist}
+Release: 2%{?dist}
License: LGPLv2+
Group: System Environment/Libraries
URL: http://www.gtk.org
@@ -25,6 +25,9 @@ BuildRequires: gnome-common autoconf automake intltool gettext
Patch2: 0001-New-tooltip-style.patch
+# upstream fix
+Patch3: 0001-Fix-a-crash-in-gnome-terminal-when-using-a-composito.patch
+
BuildRequires: atk-devel >= %{atk_version}
BuildRequires: glib2-devel >= %{glib2_version}
BuildRequires: cairo-devel >= %{cairo_version}
@@ -111,6 +114,7 @@ widget toolkit.
%setup -q -n gtk+-%{version}
%patch0 -p1 -b .system-python
%patch2 -p1 -b .fresh-tooltips
+%patch3 -p1 -b .terminal-crash
%build
@@ -245,6 +249,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache
%{_mandir}/man1/gtk-builder-convert-3.0.1.gz
%changelog
+* Fri Nov 12 2010 Matthias Clasen <mclasen@redhat.com> 2.91.4-2
+- Make gnome-terminal work again
+
* Thu Nov 11 2010 Matthias Clasen <mclasen@redhat.com> 2.91.4-1
- Update to 2.91.4
bgstack15