Update to 3.6.1

This commit is contained in:
Cosimo Cecchi 2012-10-16 09:58:09 -04:00
parent b1d2b33b96
commit f3cf8c8007
4 changed files with 7 additions and 48 deletions

1
.gitignore vendored
View File

@ -47,3 +47,4 @@ gtk+-2.90.5.tar.bz2
/gtk+-3.5.16.tar.xz
/gtk+-3.5.18.tar.xz
/gtk+-3.6.0.tar.xz
/gtk+-3.6.1.tar.xz

View File

@ -1,42 +0,0 @@
From 83c66c9c2cf6bf411f7d5ae3c89259203626173a Mon Sep 17 00:00:00 2001
From: Alexander Larsson <alexl@redhat.com>
Date: Mon, 1 Oct 2012 10:02:01 +0200
Subject: [PATCH] Make process_all_updates draw synchronously
By calling XSync in _gdk_x11_display_after_process_all_updates we
effectively make gdk rendering sync, which avoids problems with the
client animations running faster than the Xserver rendering, thus
filling up the X rendering pipes and essentially "locking up" the
Xserver (i.e. you can't even close the offending window because the
WM is starved too).
I verified this worked by making GtkSpinner paint multiple times on my
intel driver (which has some issue making this rendering slow atm),
and without this patch i get severe lag where even window dragging
stops for 5 seconds when i drag the mouse around. However, with the
patch everything is smooth.
https://bugzilla.gnome.org/show_bug.cgi?id=684639
---
gdk/x11/gdkwindow-x11.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index 4ef6f46..e4b880f 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -4858,6 +4858,11 @@ _gdk_x11_display_before_process_all_updates (GdkDisplay *display)
void
_gdk_x11_display_after_process_all_updates (GdkDisplay *display)
{
+ /* Sync after all drawing, otherwise the client can get "ahead" of
+ the server rendering during animations, such that we fill up
+ the Xserver pipes with sync rendering ops not letting other
+ clients (including the VM) do anything. */
+ XSync (GDK_DISPLAY_XDISPLAY (display), FALSE);
}
static Bool
--
1.7.12.1

View File

@ -9,8 +9,8 @@
Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X
Name: gtk3
Version: 3.6.0
Release: 2%{?dist}
Version: 3.6.1
Release: 1%{?dist}
License: LGPLv2+
Group: System Environment/Libraries
URL: http://www.gtk.org
@ -54,8 +54,6 @@ Requires: libXrandr >= %{xrandr_version}
# gtk3 no longer provides the GtkThemeEngine interface used there
Obsoletes: gtk3-engines <= 2.91.5-5.fc15
Patch0: 0001-Make-process_all_updates-draw-synchronously.patch
%description
GTK+ is a multi-platform toolkit for creating graphical user
interfaces. Offering a complete set of widgets, GTK+ is suitable for
@ -113,7 +111,6 @@ widget toolkit.
%prep
%setup -q -n gtk+-%{version}
%patch0 -p1 -b .sync-updates
%build
@ -248,6 +245,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache
%{_datadir}/gtk-doc
%changelog
* Tue Oct 16 2012 Cosimo Cecchi <cosimoc@redhat.com> - 3.6.1-1
- Update to 3.6.1
* Fri Oct 12 2012 Bastien Nocera <bnocera@redhat.com> 3.6.0-2
- Add upstream patch to make Epiphany less painful to use

View File

@ -1 +1 @@
6f7ef4679f7e3622894c3f57045a1188 gtk+-3.6.0.tar.xz
2f5905dd721321fc1586b0843417339d gtk+-3.6.1.tar.xz