Accepting request 438601 from GNOME:Factory
1 OBS-URL: https://build.opensuse.org/request/show/438601 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gtk3?expand=0&rev=102
This commit is contained in:
commit
7a155c778e
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:127c8c5cfc32681f9ab3cb542eb0d5c16c1c02faba68bf8fcac9a3cf278ef471
|
||||
size 20779708
|
3
gtk+-3.22.2.tar.xz
Normal file
3
gtk+-3.22.2.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2343dcaed2fc237ef718136ff4110fef7eb1ebfe178a9b064aa21cd74ecb6946
|
||||
size 18257964
|
124
gtk3-startupfix-wayland.patch
Normal file
124
gtk3-startupfix-wayland.patch
Normal file
@ -0,0 +1,124 @@
|
||||
From c51b463dae1ebcee4e9394e068079fb6639bb71e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Mon, 10 Oct 2016 12:33:54 +0200
|
||||
Subject: [PATCH] gdkdisplay-wayland: Add API to set startup notification ID
|
||||
|
||||
For wayland clients, the startup notification ID is currently only set
|
||||
from the DESKTOP_STARTUP_ID environment variable. As that variable is
|
||||
only set for clients launched via exec(), startup completion is not
|
||||
indicated correctly for DBus-activated applications unless an explicit
|
||||
ID is specified - usually that is not the case, as the default handling
|
||||
uses gdk_notify_startup_complete().
|
||||
To address this, we need API to set the startup notification ID from GTK
|
||||
as we have on X11.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=768531
|
||||
---
|
||||
gdk/wayland/gdkdisplay-wayland.c | 27 +++++++++++++++++++++++++++
|
||||
gdk/wayland/gdkwaylanddisplay.h | 3 +++
|
||||
2 files changed, 30 insertions(+)
|
||||
|
||||
diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c
|
||||
index cddb2de..784cfbe 100644
|
||||
--- a/gdk/wayland/gdkdisplay-wayland.c
|
||||
+++ b/gdk/wayland/gdkdisplay-wayland.c
|
||||
@@ -796,6 +796,33 @@ gdk_wayland_display_get_next_serial (GdkDisplay *display)
|
||||
return ++serial;
|
||||
}
|
||||
|
||||
+/**
|
||||
+ * gdk_wayland_display_set_startup_notification_id:
|
||||
+ * @display: (type GdkWaylandDisplay): a #GdkDisplay
|
||||
+ * @startup_id: the startup notification ID (must be valid utf8)
|
||||
+ *
|
||||
+ * Sets the startup notification ID for a display.
|
||||
+ *
|
||||
+ * This is usually taken from the value of the DESKTOP_STARTUP_ID
|
||||
+ * environment variable, but in some cases (such as the application not
|
||||
+ * being launched using exec()) it can come from other sources.
|
||||
+ *
|
||||
+ * The startup ID is also what is used to signal that the startup is
|
||||
+ * complete (for example, when opening a window or when calling
|
||||
+ * gdk_notify_startup_complete()).
|
||||
+ *
|
||||
+ * Since: 3.22
|
||||
+ **/
|
||||
+void
|
||||
+gdk_wayland_display_set_startup_notification_id (GdkDisplay *display,
|
||||
+ const char *startup_id)
|
||||
+{
|
||||
+ GdkWaylandDisplay *display_wayland = GDK_WAYLAND_DISPLAY (display);
|
||||
+
|
||||
+ g_free (display_wayland->startup_notification_id);
|
||||
+ display_wayland->startup_notification_id = g_strdup (startup_id);
|
||||
+}
|
||||
+
|
||||
static void
|
||||
gdk_wayland_display_notify_startup_complete (GdkDisplay *display,
|
||||
const gchar *startup_id)
|
||||
diff --git a/gdk/wayland/gdkwaylanddisplay.h b/gdk/wayland/gdkwaylanddisplay.h
|
||||
index a5587ca..f4b51c8 100644
|
||||
--- a/gdk/wayland/gdkwaylanddisplay.h
|
||||
+++ b/gdk/wayland/gdkwaylanddisplay.h
|
||||
@@ -53,6 +53,9 @@ GDK_AVAILABLE_IN_3_10
|
||||
void gdk_wayland_display_set_cursor_theme (GdkDisplay *display,
|
||||
const gchar *theme,
|
||||
gint size);
|
||||
+GDK_AVAILABLE_IN_3_22
|
||||
+void gdk_wayland_display_set_startup_notification_id (GdkDisplay *display,
|
||||
+ const char *startup_id);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
--
|
||||
2.9.3
|
||||
|
||||
From b29fbaa1d5a615aed7204de7b99c430e52e362b9 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Mon, 10 Oct 2016 12:33:54 +0200
|
||||
Subject: [PATCH] wayland: Set startup ID from GApplication platform data
|
||||
|
||||
The GApplication platform data may contain a startup ID that on X11
|
||||
is used to set the startup notification ID when activated. Do the
|
||||
same on the wayland backend to make startup notifications work for
|
||||
DBus-activated applications where the DESKTOP_STARTUP_ID environment
|
||||
variable is not set.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=768531
|
||||
---
|
||||
gtk/gtkapplication-wayland.c | 13 +++++++++++++
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
diff --git a/gtk/gtkapplication-wayland.c b/gtk/gtkapplication-wayland.c
|
||||
index 84df82c..221a1ad 100644
|
||||
--- a/gtk/gtkapplication-wayland.c
|
||||
+++ b/gtk/gtkapplication-wayland.c
|
||||
@@ -61,6 +61,17 @@ gtk_application_impl_wayland_handle_window_realize (GtkApplicationImpl *impl,
|
||||
}
|
||||
|
||||
static void
|
||||
+gtk_application_impl_wayland_before_emit (GtkApplicationImpl *impl,
|
||||
+ GVariant *platform_data)
|
||||
+{
|
||||
+ const char *startup_notification_id = NULL;
|
||||
+
|
||||
+ g_variant_lookup (platform_data, "desktop-startup-id", "&s", &startup_notification_id);
|
||||
+
|
||||
+ gdk_wayland_display_set_startup_notification_id (gdk_display_get_default (), startup_notification_id);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
gtk_application_impl_wayland_init (GtkApplicationImplWayland *wayland)
|
||||
{
|
||||
}
|
||||
@@ -72,4 +83,6 @@ gtk_application_impl_wayland_class_init (GtkApplicationImplWaylandClass *class)
|
||||
|
||||
impl_class->handle_window_realize =
|
||||
gtk_application_impl_wayland_handle_window_realize;
|
||||
+ impl_class->before_emit =
|
||||
+ gtk_application_impl_wayland_before_emit;
|
||||
}
|
||||
--
|
||||
2.9.3
|
||||
|
||||
|
19
gtk3.changes
19
gtk3.changes
@ -1,3 +1,22 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 1 10:07:53 UTC 2016 - zaitor@opensuse.org
|
||||
|
||||
- Add gtk3-startupfix-wayland.patch: Fix slow startup notification
|
||||
for some gtk3 apps when running on wayland (bgo#768531).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 24 10:45:05 UTC 2016 - zaitor@opensuse.org
|
||||
|
||||
- Update to version 3.22.2:
|
||||
+ Several improvements to the win32 theme.
|
||||
+ Deprecations have been added for APIs that will be removed in
|
||||
GTK+ 4.
|
||||
+ Bugs fixed: bgo#767713, bgo#771320, bgo#772345, bgo#772389,
|
||||
bgo#772415, bgo#772552, bgo#772683, bgo#772695, bgo#772775,
|
||||
bgo#772859, bgo#772922, bgo#772926, bgo#773029, bgo#773082,
|
||||
bgo#773113, bgo#773180, bgo#773246.
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Oct 1 09:13:25 UTC 2016 - zaitor@opensuse.org
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
Name: gtk3
|
||||
%define _name gtk+
|
||||
Version: 3.22.1
|
||||
Version: 3.22.2
|
||||
Release: 0
|
||||
Summary: The GTK+ toolkit library (version 3)
|
||||
License: LGPL-2.1+
|
||||
@ -44,6 +44,8 @@ Source99: baselibs.conf
|
||||
Patch0: gtk3-GTK_PATH64.patch
|
||||
# PATCH-NEEDS-REBASE gtk3-path-local.patch Search in /usr/local/%{_lib} by default. bnc369696 bgo534474 -- Was PATCH-FIX-OPENSUSE
|
||||
Patch1: gtk3-path-local.patch
|
||||
# PATCH-FIX-UPSTREAM gtk3-startupfix-wayland.patch bgo#768531 zaitor@opensuse.org -- Fix slow startup notification on wayland
|
||||
Patch2: gtk3-startupfix-wayland.patch
|
||||
BuildRequires: cups-devel >= 1.2
|
||||
BuildRequires: docbook-xsl-stylesheets
|
||||
BuildRequires: fdupes
|
||||
@ -339,6 +341,7 @@ cp -a %{S:1} .
|
||||
%endif
|
||||
# Patch disabled, needs rebase.
|
||||
#patch1 -p0
|
||||
%patch2 -p1
|
||||
|
||||
%build
|
||||
# Disabled since patch 1 is in need of rebase
|
||||
|
Loading…
Reference in New Issue
Block a user