summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--0001-x11-Avoid-setting-has_pointer_focus-if-a-EWMH-compli.patch45
-rw-r--r--fix-leak.patch159
-rw-r--r--gtk3.spec14
-rw-r--r--sources2
5 files changed, 7 insertions, 214 deletions
diff --git a/.gitignore b/.gitignore
index ab93034..0b4f17d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -129,3 +129,4 @@ gtk+-2.90.5.tar.bz2
/gtk+-3.19.6.tar.xz
/gtk+-3.19.7.tar.xz
/gtk+-3.19.8.tar.xz
+/gtk+-3.19.9.tar.xz
diff --git a/0001-x11-Avoid-setting-has_pointer_focus-if-a-EWMH-compli.patch b/0001-x11-Avoid-setting-has_pointer_focus-if-a-EWMH-compli.patch
deleted file mode 100644
index ac7a7e2..0000000
--- a/0001-x11-Avoid-setting-has_pointer_focus-if-a-EWMH-compli.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 5b395e7bb44651f57246e9dcc78d6e1bd373f6a6 Mon Sep 17 00:00:00 2001
-From: Carlos Garnacho <carlosg@gnome.org>
-Date: Fri, 13 Jun 2014 14:38:03 +0200
-Subject: [PATCH] x11: Avoid setting has_pointer_focus if a EWMH compliant WM
- is present
-
-This is mostly useful to have focus behave sanely on lack of WM, so avoid
-any check there if we're positive there is a WM handling focus.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=677329
----
- gdk/x11/gdkdevicemanager-core-x11.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/gdk/x11/gdkdevicemanager-core-x11.c b/gdk/x11/gdkdevicemanager-core-x11.c
-index 8d6848869e0d..c4aac3f4dee9 100644
---- a/gdk/x11/gdkdevicemanager-core-x11.c
-+++ b/gdk/x11/gdkdevicemanager-core-x11.c
-@@ -820,6 +820,7 @@ _gdk_device_manager_core_handle_focus (GdkWindow *window,
- int mode)
- {
- GdkToplevelX11 *toplevel;
-+ GdkX11Screen *x11_screen;
- gboolean had_focus;
-
- g_return_if_fail (GDK_IS_WINDOW (window));
-@@ -880,11 +881,14 @@ _gdk_device_manager_core_handle_focus (GdkWindow *window,
- toplevel->has_focus = (focus_in) ? TRUE : FALSE;
- break;
- case NotifyPointer:
-+ x11_screen = GDK_X11_SCREEN (gdk_window_get_screen (window));
-+
- /* The X server sends NotifyPointer/NotifyGrab,
- * but the pointer focus is ignored while a
- * grab is in effect
- */
-- if (mode != NotifyGrab &&
-+ if (!x11_screen->wmspec_check_window &&
-+ mode != NotifyGrab &&
- #ifdef XINPUT_2
- mode != XINotifyPassiveGrab &&
- mode != XINotifyPassiveUngrab &&
---
-2.5.0
-
diff --git a/fix-leak.patch b/fix-leak.patch
deleted file mode 100644
index be499df..0000000
--- a/fix-leak.patch
+++ /dev/null
@@ -1,159 +0,0 @@
-From 4bb5bc005f8ffea31fa104a7238b855c7c20cba6 Mon Sep 17 00:00:00 2001
-From: Ray Strode <rstrode@redhat.com>
-Date: Fri, 29 Jan 2016 11:19:03 -0500
-Subject: [PATCH] wayland: Don't call set_busy twice on the same surface
-
-If the compositor is using a shared memory buffer allocated by
-a client, then it's the client's responsibility to refrain from
-destroying the buffer until the compositor releases it.
-
-This is accomplished by taking a reference to the cairo surface
-assocatiated with the buffer after a frame, and dropping the
-reference when the compositor releases the buffer.
-
-In some cases though, the compositor doesn't release the buffer
-until a new buffer is set, so if we have staged drawing before
-the frame completes we can end up taking multiple references to
-the buffer and keeping it alive after it's released.
-
-This commit solves the problem by ensuring we only call
-_gdk_wayland_shm_surface_set_busy if isn't already busy.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=761312
----
- gdk/wayland/gdkdisplay-wayland.c | 3 +++
- gdk/wayland/gdkwindow-wayland.c | 2 +-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c
-index f200800..a589756 100644
---- a/gdk/wayland/gdkdisplay-wayland.c
-+++ b/gdk/wayland/gdkdisplay-wayland.c
-@@ -1020,54 +1020,57 @@ _gdk_wayland_display_create_shm_surface (GdkWaylandDisplay *display,
- width*scale, height*scale,
- stride, WL_SHM_FORMAT_ARGB8888);
- wl_buffer_add_listener (data->buffer, &buffer_listener, surface);
-
- cairo_surface_set_user_data (surface, &gdk_wayland_cairo_key,
- data, gdk_wayland_cairo_surface_destroy);
-
- cairo_surface_set_device_scale (surface, scale, scale);
-
- status = cairo_surface_status (surface);
- if (status != CAIRO_STATUS_SUCCESS)
- {
- g_critical (G_STRLOC ": Unable to create Cairo image surface: %s",
- cairo_status_to_string (status));
- }
-
- return surface;
- }
-
- struct wl_buffer *
- _gdk_wayland_shm_surface_get_wl_buffer (cairo_surface_t *surface)
- {
- GdkWaylandCairoSurfaceData *data = cairo_surface_get_user_data (surface, &gdk_wayland_cairo_key);
- return data->buffer;
- }
-
- void
- _gdk_wayland_shm_surface_set_busy (cairo_surface_t *surface)
- {
- GdkWaylandCairoSurfaceData *data = cairo_surface_get_user_data (surface, &gdk_wayland_cairo_key);
-+
-+ g_assert (!data->busy);
-+
- data->busy = TRUE;
- cairo_surface_reference (surface);
- }
-
- gboolean
- _gdk_wayland_shm_surface_get_busy (cairo_surface_t *surface)
- {
- GdkWaylandCairoSurfaceData *data = cairo_surface_get_user_data (surface, &gdk_wayland_cairo_key);
- return data->busy;
- }
-
- gboolean
- _gdk_wayland_is_shm_surface (cairo_surface_t *surface)
- {
- return cairo_surface_get_user_data (surface, &gdk_wayland_cairo_key) != NULL;
- }
-
- GdkWaylandSelection *
- gdk_wayland_display_get_selection (GdkDisplay *display)
- {
- GdkWaylandDisplay *wayland_display = GDK_WAYLAND_DISPLAY (display);
-
- return wayland_display->selection;
- }
-diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
-index 8e74ef4..6dac820 100644
---- a/gdk/wayland/gdkwindow-wayland.c
-+++ b/gdk/wayland/gdkwindow-wayland.c
-@@ -420,61 +420,61 @@ on_frame_clock_before_paint (GdkFrameClock *clock,
- timings->predicted_presentation_time = presentation_time + refresh_interval;
- }
- else
- {
- /* As above, but we don't actually know the phase of the vblank,
- * so just assume that we're half way through a refresh cycle.
- */
- timings->predicted_presentation_time = timings->frame_time + refresh_interval / 2 + refresh_interval;
- }
- }
-
- static void
- on_frame_clock_after_paint (GdkFrameClock *clock,
- GdkWindow *window)
- {
- GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl);
- struct wl_callback *callback;
-
- if (!impl->pending_commit)
- return;
-
- impl->pending_commit = FALSE;
- impl->pending_frame_counter = gdk_frame_clock_get_frame_counter (clock);
- impl->awaiting_frame = TRUE;
-
- callback = wl_surface_frame (impl->surface);
- wl_callback_add_listener (callback, &frame_listener, window);
- _gdk_frame_clock_freeze (clock);
-
- wl_surface_commit (impl->surface);
-- if (_gdk_wayland_is_shm_surface (impl->cairo_surface))
-+ if (_gdk_wayland_is_shm_surface (impl->cairo_surface) && !_gdk_wayland_shm_surface_get_busy (impl->cairo_surface))
- _gdk_wayland_shm_surface_set_busy (impl->cairo_surface);
-
- g_signal_emit (impl, signals[COMMITTED], 0);
- }
-
- static void
- window_update_scale (GdkWindow *window)
- {
- GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl);
- GdkWaylandDisplay *wayland_display = GDK_WAYLAND_DISPLAY (gdk_window_get_display (window));
- guint32 scale;
- GSList *l;
-
- if (wayland_display->compositor_version < WL_SURFACE_HAS_BUFFER_SCALE)
- {
- /* We can't set the scale on this surface */
- return;
- }
-
- scale = 1;
- for (l = impl->outputs; l != NULL; l = l->next)
- {
- guint32 output_scale =
- _gdk_wayland_screen_get_output_scale (wayland_display->screen, l->data);
- scale = MAX (scale, output_scale);
- }
-
- /* Notify app that scale changed */
- gdk_wayland_window_configure (window, window->width, window->height, scale);
- }
---
-2.7.0
-
diff --git a/gtk3.spec b/gtk3.spec
index c200eeb..ab46a71 100644
--- a/gtk3.spec
+++ b/gtk3.spec
@@ -17,19 +17,14 @@
Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X
Name: gtk3
-Version: 3.19.8
-Release: 4%{?dist}
+Version: 3.19.9
+Release: 1%{?dist}
License: LGPLv2+
Group: System Environment/Libraries
URL: http://www.gtk.org
#VCS: git:git://git.gnome.org/gtk+
Source: http://download.gnome.org/sources/gtk+/3.19/gtk+-%{version}.tar.xz
-Patch0: fix-leak.patch
-
-# https://bugzilla.gnome.org/show_bug.cgi?id=677329
-# https://bugzilla.gnome.org/show_bug.cgi?id=725342
-Patch1: 0001-x11-Avoid-setting-has_pointer_focus-if-a-EWMH-compli.patch
BuildRequires: gnome-common autoconf automake intltool gettext
BuildRequires: pkgconfig(atk) >= %{atk_version}
@@ -172,8 +167,6 @@ the functionality of the installed %{name} package.
%prep
%setup -q -n gtk+-%{version}
-%patch0 -p1 -b .fix-leak
-%patch1 -p1 -b .focus-in-out
%build
@@ -347,6 +340,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache
%{_datadir}/installed-tests
%changelog
+* Wed Feb 17 2016 Richard Hughes <rhughes@redhat.com> - 3.19.9-1
+- Update to 3.19.9
+
* Mon Feb 08 2016 Debarshi Ray <rishi@fedoraproject.org> - - 3.19.8-4
- Backport fix for missing focus-in/out events (GNOME #677329)
diff --git a/sources b/sources
index 293a399..77bdc2c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-6dae5303d2252d8463937ff9e36faf8f gtk+-3.19.8.tar.xz
+0f0b388b6d288566307a3b7385f15ab6 gtk+-3.19.9.tar.xz
bgstack15