fix a gnome-terminal problem
This commit is contained in:
parent
a435582f8e
commit
87b4838031
@ -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
|
||||||
|
|
@ -11,7 +11,7 @@
|
|||||||
Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X
|
Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X
|
||||||
Name: gtk3
|
Name: gtk3
|
||||||
Version: 2.91.4
|
Version: 2.91.4
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
URL: http://www.gtk.org
|
URL: http://www.gtk.org
|
||||||
@ -25,6 +25,9 @@ BuildRequires: gnome-common autoconf automake intltool gettext
|
|||||||
|
|
||||||
Patch2: 0001-New-tooltip-style.patch
|
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: atk-devel >= %{atk_version}
|
||||||
BuildRequires: glib2-devel >= %{glib2_version}
|
BuildRequires: glib2-devel >= %{glib2_version}
|
||||||
BuildRequires: cairo-devel >= %{cairo_version}
|
BuildRequires: cairo-devel >= %{cairo_version}
|
||||||
@ -111,6 +114,7 @@ widget toolkit.
|
|||||||
%setup -q -n gtk+-%{version}
|
%setup -q -n gtk+-%{version}
|
||||||
%patch0 -p1 -b .system-python
|
%patch0 -p1 -b .system-python
|
||||||
%patch2 -p1 -b .fresh-tooltips
|
%patch2 -p1 -b .fresh-tooltips
|
||||||
|
%patch3 -p1 -b .terminal-crash
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
@ -245,6 +249,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache
|
|||||||
%{_mandir}/man1/gtk-builder-convert-3.0.1.gz
|
%{_mandir}/man1/gtk-builder-convert-3.0.1.gz
|
||||||
|
|
||||||
%changelog
|
%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
|
* Thu Nov 11 2010 Matthias Clasen <mclasen@redhat.com> 2.91.4-1
|
||||||
- Update to 2.91.4
|
- Update to 2.91.4
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user