Backport fix to prevent crashes when adding online accounts
https://bugzilla.gnome.org/show_bug.cgi?id=789141
This commit is contained in:
parent
29fc170bf1
commit
571510f959
42
gtk3-gdk-Clear-GL-context-when-window-is-withdrawn.patch
Normal file
42
gtk3-gdk-Clear-GL-context-when-window-is-withdrawn.patch
Normal file
@ -0,0 +1,42 @@
|
||||
From 7c2ff0449adfef596d7eea86b51f2ee40c52ad08 Mon Sep 17 00:00:00 2001
|
||||
From: Andrea Azzarone <azzaronea@gmail.com>
|
||||
Date: Wed, 18 Oct 2017 12:35:04 +0200
|
||||
Subject: [PATCH] gdk: Clear GL context when window is withdrawn
|
||||
|
||||
Some clients (e.g. gnome-online-accounts) quickly unmap and map
|
||||
a window. With some backends the backend surface will be replaced
|
||||
causing the application to crash because the GL context is still
|
||||
using the old surface. Clearing the GL context when a window is
|
||||
withdrawn fixes this.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=789141
|
||||
---
|
||||
gdk/gdkwindow.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
|
||||
index c0e0a7d4b2b7..79804cdacdac 100644
|
||||
--- a/gdk/gdkwindow.c
|
||||
+++ b/gdk/gdkwindow.c
|
||||
@@ -5744,6 +5744,7 @@ gdk_window_withdraw (GdkWindow *window)
|
||||
{
|
||||
GdkWindowImplClass *impl_class;
|
||||
gboolean was_mapped;
|
||||
+ GdkGLContext *current_context;
|
||||
|
||||
g_return_if_fail (GDK_IS_WINDOW (window));
|
||||
|
||||
@@ -5768,6 +5769,10 @@ gdk_window_withdraw (GdkWindow *window)
|
||||
_gdk_synthesize_crossing_events_for_geometry_change (window->parent);
|
||||
}
|
||||
|
||||
+ current_context = gdk_gl_context_get_current ();
|
||||
+ if (current_context != NULL && gdk_gl_context_get_window (current_context) == window)
|
||||
+ gdk_gl_context_clear_current ();
|
||||
+
|
||||
recompute_visible_regions (window, FALSE);
|
||||
gdk_window_clear_old_updated_area (window);
|
||||
}
|
||||
--
|
||||
2.14.2
|
||||
|
@ -22,13 +22,16 @@
|
||||
|
||||
Name: gtk3
|
||||
Version: 3.22.24
|
||||
Release: 2%{?dist}
|
||||
Release: 3%{?dist}
|
||||
Summary: GTK+ graphical user interface library
|
||||
|
||||
License: LGPLv2+
|
||||
URL: http://www.gtk.org
|
||||
Source0: http://download.gnome.org/sources/gtk+/3.22/gtk+-%{version}.tar.xz
|
||||
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=789141
|
||||
Patch0: gtk3-gdk-Clear-GL-context-when-window-is-withdrawn.patch
|
||||
|
||||
BuildRequires: pkgconfig(atk) >= %{atk_version}
|
||||
BuildRequires: pkgconfig(atk-bridge-2.0)
|
||||
BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version}
|
||||
@ -167,6 +170,7 @@ the functionality of the installed %{name} package.
|
||||
|
||||
%prep
|
||||
%setup -q -n gtk+-%{version}
|
||||
%patch0 -p1
|
||||
|
||||
%build
|
||||
export CFLAGS='-fno-strict-aliasing %optflags'
|
||||
@ -340,6 +344,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || :
|
||||
%{_datadir}/installed-tests
|
||||
|
||||
%changelog
|
||||
* Wed Oct 25 2017 Debarshi Ray <rishi@fedoraproject.org> - 3.22.24-3
|
||||
- Backport fix to prevent crashes when adding online accounts (GNOME #789141)
|
||||
|
||||
* Mon Oct 23 2017 Troy Dawson <tdawson@redhat.com> - 3.22.24-2
|
||||
- Cleanup spec file conditionals
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user