diff options
author | Kalev Lember <klember@redhat.com> | 2017-08-08 11:38:04 +0200 |
---|---|---|
committer | Kalev Lember <klember@redhat.com> | 2017-08-08 11:38:04 +0200 |
commit | f1138553e770078a00ad37f3c94cd0b16e1a1442 (patch) | |
tree | 80f1920ef68605954c96da90751514f8ea26eaf6 | |
parent | - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild (diff) | |
download | gtk3-classic-build-gtk3-f1138553e770078a00ad37f3c94cd0b16e1a1442.tar.gz gtk3-classic-build-gtk3-f1138553e770078a00ad37f3c94cd0b16e1a1442.tar.bz2 gtk3-classic-build-gtk3-f1138553e770078a00ad37f3c94cd0b16e1a1442.zip |
Update to 3.22.18
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | gtk3-throttle-system-bell-on-wayland.patch | 185 | ||||
-rw-r--r-- | gtk3.spec | 13 | ||||
-rw-r--r-- | sources | 2 |
4 files changed, 8 insertions, 193 deletions
@@ -160,3 +160,4 @@ gtk+-2.90.5.tar.bz2 /gtk+-3.22.15.tar.xz /gtk+-3.22.16.tar.xz /gtk+-3.22.17.tar.xz +/gtk+-3.22.18.tar.xz diff --git a/gtk3-throttle-system-bell-on-wayland.patch b/gtk3-throttle-system-bell-on-wayland.patch deleted file mode 100644 index a8673c9..0000000 --- a/gtk3-throttle-system-bell-on-wayland.patch +++ /dev/null @@ -1,185 +0,0 @@ -From f78585b7c35cbe07b5cf921a871d59299dcfa355 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com> -Date: Mon, 13 Mar 2017 14:33:06 +0800 -Subject: [PATCH 1/2] wayland: Make beep requests go through the GdkDisplay - -This way we can add things like throttling. - -https://bugzilla.gnome.org/show_bug.cgi?id=778188 ---- - gdk/wayland/gdkdisplay-wayland.c | 19 ++++++++++++++++--- - gdk/wayland/gdkprivate-wayland.h | 5 +++++ - gdk/wayland/gdkwindow-wayland.c | 18 +++++++++--------- - 3 files changed, 30 insertions(+), 12 deletions(-) - -diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c -index 784cfbecc411..d7fb684bd69b 100644 ---- a/gdk/wayland/gdkdisplay-wayland.c -+++ b/gdk/wayland/gdkdisplay-wayland.c -@@ -656,10 +656,12 @@ gdk_wayland_display_get_default_screen (GdkDisplay *display) - return GDK_WAYLAND_DISPLAY (display)->screen; - } - --static void --gdk_wayland_display_beep (GdkDisplay *display) -+void -+gdk_wayland_display_system_bell (GdkDisplay *display, -+ GdkWindow *window) - { - GdkWaylandDisplay *display_wayland; -+ struct gtk_surface1 *gtk_surface; - - g_return_if_fail (GDK_IS_DISPLAY (display)); - -@@ -668,7 +670,18 @@ gdk_wayland_display_beep (GdkDisplay *display) - if (!display_wayland->gtk_shell) - return; - -- gtk_shell1_system_bell (display_wayland->gtk_shell, NULL); -+ if (window) -+ gtk_surface = gdk_wayland_window_get_gtk_surface (window); -+ else -+ gtk_surface = NULL; -+ -+ gtk_shell1_system_bell (display_wayland->gtk_shell, gtk_surface); -+} -+ -+static void -+gdk_wayland_display_beep (GdkDisplay *display) -+{ -+ gdk_wayland_display_system_bell (display, NULL); - } - - static void -diff --git a/gdk/wayland/gdkprivate-wayland.h b/gdk/wayland/gdkprivate-wayland.h -index a95c925ca138..fde7632d38f5 100644 ---- a/gdk/wayland/gdkprivate-wayland.h -+++ b/gdk/wayland/gdkprivate-wayland.h -@@ -83,6 +83,9 @@ void _gdk_wayland_display_get_maximal_cursor_size (GdkDisplay *display, - gboolean _gdk_wayland_display_supports_cursor_alpha (GdkDisplay *display); - gboolean _gdk_wayland_display_supports_cursor_color (GdkDisplay *display); - -+void gdk_wayland_display_system_bell (GdkDisplay *display, -+ GdkWindow *window); -+ - struct wl_buffer *_gdk_wayland_cursor_get_buffer (GdkCursor *cursor, - guint image_index, - int *hotspot_x, -@@ -271,6 +274,8 @@ EGLSurface gdk_wayland_window_get_egl_surface (GdkWindow *window, - EGLSurface gdk_wayland_window_get_dummy_egl_surface (GdkWindow *window, - EGLConfig config); - -+struct gtk_surface1 * gdk_wayland_window_get_gtk_surface (GdkWindow *window); -+ - void gdk_wayland_seat_set_global_cursor (GdkSeat *seat, - GdkCursor *cursor); - -diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c -index ffc9f94a009c..1f93f6c9c598 100644 ---- a/gdk/wayland/gdkwindow-wayland.c -+++ b/gdk/wayland/gdkwindow-wayland.c -@@ -958,15 +958,8 @@ gdk_window_impl_wayland_end_paint (GdkWindow *window) - static gboolean - gdk_window_impl_wayland_beep (GdkWindow *window) - { -- GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl); -- GdkWaylandDisplay *display_wayland = -- GDK_WAYLAND_DISPLAY (gdk_window_get_display (window)); -- -- if (!display_wayland->gtk_shell) -- return FALSE; -- -- gtk_shell1_system_bell (display_wayland->gtk_shell, -- impl->display_server.gtk_surface); -+ gdk_wayland_display_system_bell (gdk_window_get_display (window), -+ window); - - return TRUE; - } -@@ -3891,6 +3884,13 @@ gdk_wayland_window_get_dummy_egl_surface (GdkWindow *window, - return impl->dummy_egl_surface; - } - -+struct gtk_surface1 * -+gdk_wayland_window_get_gtk_surface (GdkWindow *window) -+{ -+ g_return_val_if_fail (GDK_IS_WAYLAND_WINDOW (window), NULL); -+ -+ return GDK_WINDOW_IMPL_WAYLAND (window->impl)->display_server.gtk_surface; -+} - - /** - * gdk_wayland_window_set_use_custom_surface: --- -2.9.4 - - -From 376ff1ae607db3e3ae47e8caeb8e8bce98c56f54 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com> -Date: Mon, 13 Mar 2017 14:42:38 +0800 -Subject: [PATCH 2/2] wayland: Throttle system bell requests - -If a bad behaving application tries to make the window/display beep too -often, throttle the beep requests so that we don't end up filling the -Wayland socket queue. - -The throttle is set to 50 beeps per second, which far more beeps than -will ever make any sense from a user experience point of view, but will -avoid terminating due to an excessive amount of requests. - -https://bugzilla.gnome.org/show_bug.cgi?id=778188 ---- - gdk/wayland/gdkdisplay-wayland.c | 9 +++++++++ - gdk/wayland/gdkdisplay-wayland.h | 2 ++ - 2 files changed, 11 insertions(+) - -diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c -index d7fb684bd69b..3c8eedbfdae8 100644 ---- a/gdk/wayland/gdkdisplay-wayland.c -+++ b/gdk/wayland/gdkdisplay-wayland.c -@@ -80,6 +80,8 @@ - * ]| - */ - -+#define MIN_SYSTEM_BELL_DELAY_MS 20 -+ - static void _gdk_wayland_display_load_cursor_theme (GdkWaylandDisplay *display_wayland); - - G_DEFINE_TYPE (GdkWaylandDisplay, gdk_wayland_display, GDK_TYPE_DISPLAY) -@@ -662,6 +664,7 @@ gdk_wayland_display_system_bell (GdkDisplay *display, - { - GdkWaylandDisplay *display_wayland; - struct gtk_surface1 *gtk_surface; -+ gint64 now_ms; - - g_return_if_fail (GDK_IS_DISPLAY (display)); - -@@ -675,6 +678,12 @@ gdk_wayland_display_system_bell (GdkDisplay *display, - else - gtk_surface = NULL; - -+ now_ms = g_get_monotonic_time () / 1000; -+ if (now_ms - display_wayland->last_bell_time_ms < MIN_SYSTEM_BELL_DELAY_MS) -+ return; -+ -+ display_wayland->last_bell_time_ms = now_ms; -+ - gtk_shell1_system_bell (display_wayland->gtk_shell, gtk_surface); - } - -diff --git a/gdk/wayland/gdkdisplay-wayland.h b/gdk/wayland/gdkdisplay-wayland.h -index a9fd4831a49c..3ae114e048fb 100644 ---- a/gdk/wayland/gdkdisplay-wayland.h -+++ b/gdk/wayland/gdkdisplay-wayland.h -@@ -110,6 +110,8 @@ struct _GdkWaylandDisplay - - GPtrArray *monitors; - -+ gint64 last_bell_time_ms; -+ - /* egl info */ - EGLDisplay egl_display; - int egl_major_version; --- -2.9.4 - @@ -10,7 +10,7 @@ %global gdk_pixbuf_version 2.30.0 %global xrandr_version 1.5.0 %global wayland_version 1.9.91 -%global wayland_protocols_version 1.7 +%global wayland_protocols_version 1.9 %global epoxy_version 1.0 %global bin_version 3.0.0 @@ -21,17 +21,14 @@ %global __provides_exclude_from ^%{_libdir}/gtk-3.0 Name: gtk3 -Version: 3.22.17 -Release: 4%{?dist} +Version: 3.22.18 +Release: 1%{?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.redhat.com/show_bug.cgi?id=1466654 -Patch0: gtk3-throttle-system-bell-on-wayland.patch - BuildRequires: pkgconfig(atk) >= %{atk_version} BuildRequires: pkgconfig(atk-bridge-2.0) BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version} @@ -170,7 +167,6 @@ the functionality of the installed %{name} package. %prep %setup -q -n gtk+-%{version} -%patch0 -p1 %build export CFLAGS='-fno-strict-aliasing %optflags' @@ -343,6 +339,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || : %{_datadir}/installed-tests %changelog +* Tue Aug 08 2017 Kalev Lember <klember@redhat.com> - 3.22.18-1 +- Update to 3.22.18 + * Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.22.17-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild @@ -1 +1 @@ -SHA512 (gtk+-3.22.17.tar.xz) = 9503baa73f6e199a1fe807bec739df2bb8bc2e586e9c316184d37e874191eb5938c962d1eb83e58841579b16cde8b85d80e058a3577c0033de12fc3fce066dfa +SHA512 (gtk+-3.22.18.tar.xz) = f61d9117565a8e5d5902bc935aab34574910d408b28358fba78096be0c751d2c4c48a0f227086c6b15575c296b0ba8c811c5752e55711ba712a1db3d5a93471a |