Accepting request 441063 from GNOME:Factory

1

OBS-URL: https://build.opensuse.org/request/show/441063
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gtk3?expand=0&rev=104
This commit is contained in:
Dominique Leuenberger 2016-11-24 22:15:00 +00:00 committed by Git OBS Bridge
commit b57bb5c6d5
5 changed files with 14 additions and 131 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e190ab1a9a893861b8e8be341aa57bce8b7146d6445ebfe5a8ab64236fe82ed3
size 18236932

3
gtk+-3.22.4.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7094a6fcfe133d01c578358bd5d3e499715f1a0206e87bd5cf6c834e301f387f
size 18243596

View File

@ -1,124 +0,0 @@
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

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
Sat Nov 19 11:48:11 UTC 2016 - dimstar@opensuse.org
- Update to version 3.22.4:
+ Bugs fixed: bgo#767713, bgo#768081, bgo#768531, bgo#772075,
bgo#772202, bgo#773587, bgo#773916, bgo#773979, bgo#774046,
bgo#774066, bgo#774097, bgo#774185, bgo#774352.
+ Updated translations.
- Drop gtk3-startupfix-wayland.patch: fixed upstream.
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Nov 7 21:22:21 UTC 2016 - dimstar@opensuse.org Mon Nov 7 21:22:21 UTC 2016 - dimstar@opensuse.org

View File

@ -29,7 +29,7 @@
Name: gtk3 Name: gtk3
%define _name gtk+ %define _name gtk+
Version: 3.22.3 Version: 3.22.4
Release: 0 Release: 0
Summary: The GTK+ toolkit library (version 3) Summary: The GTK+ toolkit library (version 3)
License: LGPL-2.1+ License: LGPL-2.1+
@ -44,8 +44,6 @@ Source99: baselibs.conf
Patch0: gtk3-GTK_PATH64.patch 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 # 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 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: cups-devel >= 1.2
BuildRequires: docbook-xsl-stylesheets BuildRequires: docbook-xsl-stylesheets
BuildRequires: fdupes BuildRequires: fdupes
@ -341,7 +339,6 @@ cp -a %{S:1} .
%endif %endif
# Patch disabled, needs rebase. # Patch disabled, needs rebase.
#patch1 -p0 #patch1 -p0
%patch2 -p1
%build %build
# Disabled since patch 1 is in need of rebase # Disabled since patch 1 is in need of rebase