Update to 3.26.1
This commit is contained in:
parent
79f02b2c4f
commit
7018d9fe73
1
.gitignore
vendored
1
.gitignore
vendored
@ -131,3 +131,4 @@ mutter-2.31.5.tar.bz2
|
|||||||
/mutter-3.25.91.tar.xz
|
/mutter-3.25.91.tar.xz
|
||||||
/mutter-3.25.92.tar.xz
|
/mutter-3.25.92.tar.xz
|
||||||
/mutter-3.26.0.tar.xz
|
/mutter-3.26.0.tar.xz
|
||||||
|
/mutter-3.26.1.tar.xz
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
From f0c6c4eb1fa2b21e3806a31bbae0f210b029907e Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
|
||||||
Date: Wed, 20 Sep 2017 19:54:45 +0200
|
|
||||||
Subject: [PATCH] screen-cast-stream-src: Adjust to pipewire API break
|
|
||||||
|
|
||||||
https://bugzilla.gnome.org/show_bug.cgi?id=787953
|
|
||||||
---
|
|
||||||
src/backends/meta-screen-cast-stream-src.c | 6 ++++++
|
|
||||||
1 file changed, 6 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/backends/meta-screen-cast-stream-src.c b/src/backends/meta-screen-cast-stream-src.c
|
|
||||||
index 7f8217712..e6d99d592 100644
|
|
||||||
--- a/src/backends/meta-screen-cast-stream-src.c
|
|
||||||
+++ b/src/backends/meta-screen-cast-stream-src.c
|
|
||||||
@@ -535,7 +535,13 @@ meta_screen_cast_stream_src_initable_init (GInitable *initable,
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if PIPEWIRE_VERSION_MICRO == 4
|
|
||||||
priv->pipewire_remote = pw_remote_new (priv->pipewire_core, NULL);
|
|
||||||
+#elif PIPEWIRE_VERSION_MICRO >= 5
|
|
||||||
+ priv->pipewire_remote = pw_remote_new (priv->pipewire_core, NULL, 0);
|
|
||||||
+#else
|
|
||||||
+ priv->pipewire_remote = NULL;
|
|
||||||
+#endif
|
|
||||||
if (!priv->pipewire_remote)
|
|
||||||
{
|
|
||||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
|
||||||
--
|
|
||||||
2.13.5
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
|||||||
From b8840456a593b1878d0f9c5cb22c271be7d09c94 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Olivier Fourdan <ofourdan@redhat.com>
|
|
||||||
Date: Tue, 12 Sep 2017 10:27:32 +0200
|
|
||||||
Subject: [PATCH] wayland: do not leak shortcut inhibit data
|
|
||||||
|
|
||||||
We would free the shortcut inhibit data only when the client destroys
|
|
||||||
its request, which is not the case when the clients itself is
|
|
||||||
destroyed, leading to a leak of the shortcut inhibit data.
|
|
||||||
|
|
||||||
Free the data on resource destruction instead, and simply destroy the
|
|
||||||
resource on destroy request.
|
|
||||||
|
|
||||||
https://bugzilla.gnome.org/show_bug.cgi?id=787568
|
|
||||||
---
|
|
||||||
src/wayland/meta-wayland-inhibit-shortcuts.c | 11 ++++++++---
|
|
||||||
1 file changed, 8 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/wayland/meta-wayland-inhibit-shortcuts.c b/src/wayland/meta-wayland-inhibit-shortcuts.c
|
|
||||||
index a7ba3c211..8e5ed2413 100644
|
|
||||||
--- a/src/wayland/meta-wayland-inhibit-shortcuts.c
|
|
||||||
+++ b/src/wayland/meta-wayland-inhibit-shortcuts.c
|
|
||||||
@@ -41,8 +41,7 @@ struct _MetaWaylandKeyboardShotscutsInhibit
|
|
||||||
};
|
|
||||||
|
|
||||||
static void
|
|
||||||
-zwp_keyboard_shortcuts_inhibit_destroy (struct wl_client *client,
|
|
||||||
- struct wl_resource *resource)
|
|
||||||
+zwp_keyboard_shortcuts_inhibit_destructor (struct wl_resource *resource)
|
|
||||||
{
|
|
||||||
MetaWaylandKeyboardShotscutsInhibit *shortcut_inhibit;
|
|
||||||
|
|
||||||
@@ -64,6 +63,12 @@ zwp_keyboard_shortcuts_inhibit_destroy (struct wl_client *client,
|
|
||||||
shortcut_inhibit->seat);
|
|
||||||
}
|
|
||||||
g_free (shortcut_inhibit);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
+zwp_keyboard_shortcuts_inhibit_destroy (struct wl_client *client,
|
|
||||||
+ struct wl_resource *resource)
|
|
||||||
+{
|
|
||||||
wl_resource_destroy (resource);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -148,7 +153,7 @@ zwp_keyboard_shortcuts_inhibit_manager_inhibit_shortcuts (struct wl_client *cl
|
|
||||||
wl_resource_set_implementation (keyboard_shortcuts_inhibit_resource,
|
|
||||||
&meta_keyboard_shortcuts_inhibit_interface,
|
|
||||||
shortcut_inhibit,
|
|
||||||
- NULL);
|
|
||||||
+ zwp_keyboard_shortcuts_inhibit_destructor);
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct zwp_keyboard_shortcuts_inhibit_manager_v1_interface
|
|
||||||
--
|
|
||||||
2.13.5
|
|
||||||
|
|
@ -1,109 +0,0 @@
|
|||||||
From 40487bdd84da71bd3dc31810594b524e55b63049 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Olivier Fourdan <ofourdan@redhat.com>
|
|
||||||
Date: Tue, 12 Sep 2017 09:39:24 +0200
|
|
||||||
Subject: [PATCH] wayland: Keep the inhibit shortcut dialog
|
|
||||||
|
|
||||||
On Wayland, the grab()/ungrab() in gtk+/gdk are wired to the shortcut
|
|
||||||
inhibitor mechanism, which in turn shows the dialog, which can take
|
|
||||||
focus away from the client window when the dialog is shown.
|
|
||||||
|
|
||||||
If the client issues an ungrab() when the keyboard focus is lost, we
|
|
||||||
would hide the dialog, causing the keyboard focus to be returned to the
|
|
||||||
client surface, which in turn would issue a new grab(), so forth and so
|
|
||||||
on, causing a continuous show/hide of the shortcut inhibitor dialog.
|
|
||||||
|
|
||||||
To avoid this issue, keep the dialog around even if the shortcut inhibit
|
|
||||||
is canceled by the client, so that the user is forced to make a choice
|
|
||||||
that we can reuse on the next request without showing the dialog again.
|
|
||||||
|
|
||||||
Instead of hiding the dialog when the shortcut inhibitor is destroyed by
|
|
||||||
the client, we simply mark the request as canceled and do not apply the
|
|
||||||
user's choice.
|
|
||||||
|
|
||||||
https://bugzilla.gnome.org/show_bug.cgi?id=787568
|
|
||||||
---
|
|
||||||
src/wayland/meta-wayland-inhibit-shortcuts-dialog.c | 15 +++++++++++----
|
|
||||||
src/wayland/meta-wayland-inhibit-shortcuts-dialog.h | 2 +-
|
|
||||||
src/wayland/meta-wayland-inhibit-shortcuts.c | 2 +-
|
|
||||||
3 files changed, 13 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/wayland/meta-wayland-inhibit-shortcuts-dialog.c b/src/wayland/meta-wayland-inhibit-shortcuts-dialog.c
|
|
||||||
index 5f883f765..a432a4103 100644
|
|
||||||
--- a/src/wayland/meta-wayland-inhibit-shortcuts-dialog.c
|
|
||||||
+++ b/src/wayland/meta-wayland-inhibit-shortcuts-dialog.c
|
|
||||||
@@ -32,6 +32,7 @@ typedef struct _InhibitShortcutsData
|
|
||||||
MetaInhibitShortcutsDialog *dialog;
|
|
||||||
gulong response_handler_id;
|
|
||||||
gboolean has_last_response;
|
|
||||||
+ gboolean request_canceled;
|
|
||||||
MetaInhibitShortcutsDialogResponse last_response;
|
|
||||||
} InhibitShortcutsData;
|
|
||||||
|
|
||||||
@@ -93,7 +94,10 @@ inhibit_shortcuts_dialog_response_cb (MetaInhibitShortcutsDialog *dialog,
|
|
||||||
{
|
|
||||||
data->last_response = response;
|
|
||||||
data->has_last_response = TRUE;
|
|
||||||
- inhibit_shortcuts_dialog_response_apply (data);
|
|
||||||
+
|
|
||||||
+ /* If the request was canceled, we don't need to apply the choice made */
|
|
||||||
+ if (!data->request_canceled)
|
|
||||||
+ inhibit_shortcuts_dialog_response_apply (data);
|
|
||||||
|
|
||||||
meta_inhibit_shortcuts_dialog_hide (data->dialog);
|
|
||||||
surface_inhibit_shortcuts_data_destroy_dialog (data);
|
|
||||||
@@ -154,11 +158,14 @@ meta_wayland_surface_show_inhibit_shortcuts_dialog (MetaWaylandSurface *surface,
|
|
||||||
}
|
|
||||||
|
|
||||||
data = meta_wayland_surface_ensure_inhibit_shortcuts_dialog (surface, seat);
|
|
||||||
+ /* This is a new request */
|
|
||||||
+ data->request_canceled = FALSE;
|
|
||||||
+
|
|
||||||
meta_inhibit_shortcuts_dialog_show (data->dialog);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
-meta_wayland_surface_hide_inhibit_shortcuts_dialog (MetaWaylandSurface *surface)
|
|
||||||
+meta_wayland_surface_cancel_inhibit_shortcuts_dialog (MetaWaylandSurface *surface)
|
|
||||||
{
|
|
||||||
InhibitShortcutsData *data;
|
|
||||||
|
|
||||||
@@ -168,8 +175,8 @@ meta_wayland_surface_hide_inhibit_shortcuts_dialog (MetaWaylandSurface *surface)
|
|
||||||
data = surface_inhibit_shortcuts_data_get (surface);
|
|
||||||
g_return_if_fail (data);
|
|
||||||
|
|
||||||
- if (data->dialog)
|
|
||||||
- meta_inhibit_shortcuts_dialog_hide (data->dialog);
|
|
||||||
+ /* Keep the dialog on screen, but mark the request as canceled */
|
|
||||||
+ data->request_canceled = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
diff --git a/src/wayland/meta-wayland-inhibit-shortcuts-dialog.h b/src/wayland/meta-wayland-inhibit-shortcuts-dialog.h
|
|
||||||
index bd3fc42b0..a7d60cfc3 100644
|
|
||||||
--- a/src/wayland/meta-wayland-inhibit-shortcuts-dialog.h
|
|
||||||
+++ b/src/wayland/meta-wayland-inhibit-shortcuts-dialog.h
|
|
||||||
@@ -24,7 +24,7 @@
|
|
||||||
void meta_wayland_surface_show_inhibit_shortcuts_dialog (MetaWaylandSurface *surface,
|
|
||||||
MetaWaylandSeat *seat);
|
|
||||||
|
|
||||||
-void meta_wayland_surface_hide_inhibit_shortcuts_dialog (MetaWaylandSurface *surface);
|
|
||||||
+void meta_wayland_surface_cancel_inhibit_shortcuts_dialog (MetaWaylandSurface *surface);
|
|
||||||
|
|
||||||
void meta_wayland_surface_inhibit_shortcuts_dialog_init (void);
|
|
||||||
|
|
||||||
diff --git a/src/wayland/meta-wayland-inhibit-shortcuts.c b/src/wayland/meta-wayland-inhibit-shortcuts.c
|
|
||||||
index cd078917d..a7ba3c211 100644
|
|
||||||
--- a/src/wayland/meta-wayland-inhibit-shortcuts.c
|
|
||||||
+++ b/src/wayland/meta-wayland-inhibit-shortcuts.c
|
|
||||||
@@ -49,7 +49,7 @@ zwp_keyboard_shortcuts_inhibit_destroy (struct wl_client *client,
|
|
||||||
shortcut_inhibit = wl_resource_get_user_data (resource);
|
|
||||||
if (shortcut_inhibit->surface)
|
|
||||||
{
|
|
||||||
- meta_wayland_surface_hide_inhibit_shortcuts_dialog (shortcut_inhibit->surface);
|
|
||||||
+ meta_wayland_surface_cancel_inhibit_shortcuts_dialog (shortcut_inhibit->surface);
|
|
||||||
|
|
||||||
g_signal_handler_disconnect (shortcut_inhibit->surface,
|
|
||||||
shortcut_inhibit->surface_destroyed_handler);
|
|
||||||
--
|
|
||||||
2.13.5
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
|||||||
From 21609ac6655ea7bee5cba9b37ec470375bcaf5d6 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
|
|
||||||
Date: Tue, 12 Sep 2017 12:20:31 +0800
|
|
||||||
Subject: [PATCH] wayland/inhibit-shortcuts-dialog: Use g_new0 instead of g_new
|
|
||||||
|
|
||||||
The code assumed the newly allocated blocked was initialized to 0, but
|
|
||||||
it wasn't since g_new was used. Fix that by using g_new0.
|
|
||||||
|
|
||||||
https://bugzilla.gnome.org/show_bug.cgi?id=787570
|
|
||||||
---
|
|
||||||
src/wayland/meta-wayland-inhibit-shortcuts-dialog.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/wayland/meta-wayland-inhibit-shortcuts-dialog.c b/src/wayland/meta-wayland-inhibit-shortcuts-dialog.c
|
|
||||||
index da897b9b3..5f883f765 100644
|
|
||||||
--- a/src/wayland/meta-wayland-inhibit-shortcuts-dialog.c
|
|
||||||
+++ b/src/wayland/meta-wayland-inhibit-shortcuts-dialog.c
|
|
||||||
@@ -112,7 +112,7 @@ meta_wayland_surface_ensure_inhibit_shortcuts_dialog (MetaWaylandSurface *surfac
|
|
||||||
if (data)
|
|
||||||
return data;
|
|
||||||
|
|
||||||
- data = g_new (InhibitShortcutsData, 1);
|
|
||||||
+ data = g_new0 (InhibitShortcutsData, 1);
|
|
||||||
surface_inhibit_shortcuts_data_set (surface, data);
|
|
||||||
g_signal_connect (surface, "destroy",
|
|
||||||
G_CALLBACK (on_surface_destroyed),
|
|
||||||
--
|
|
||||||
2.13.5
|
|
16
mutter.spec
16
mutter.spec
@ -6,8 +6,8 @@
|
|||||||
%global pipewire_version 0.1.4
|
%global pipewire_version 0.1.4
|
||||||
|
|
||||||
Name: mutter
|
Name: mutter
|
||||||
Version: 3.26.0
|
Version: 3.26.1
|
||||||
Release: 6%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Window and compositing manager based on Clutter
|
Summary: Window and compositing manager based on Clutter
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -18,15 +18,6 @@ Source0: http://download.gnome.org/sources/%{name}/3.26/%{name}-%{version}
|
|||||||
Patch0: startup-notification.patch
|
Patch0: startup-notification.patch
|
||||||
# https://bugzilla.gnome.org/show_bug.cgi?id=786677
|
# https://bugzilla.gnome.org/show_bug.cgi?id=786677
|
||||||
|
|
||||||
# https://bugzilla.gnome.org/show_bug.cgi?id=787568
|
|
||||||
Patch1: mutter-3.26.0-keep-inhibit-shortcut-dialog.patch
|
|
||||||
Patch2: mutter-3.26.0-do-not-leak-shortcut-inhibit-data.patch
|
|
||||||
|
|
||||||
# https://bugzilla.gnome.org/show_bug.cgi?id=787570
|
|
||||||
Patch3: mutter-3.26.0-use-gnew0-not-gnew.patch
|
|
||||||
|
|
||||||
Patch4: 0001-screen-cast-stream-src-Adjust-to-pipewire-API-break.patch
|
|
||||||
|
|
||||||
BuildRequires: chrpath
|
BuildRequires: chrpath
|
||||||
BuildRequires: pango-devel
|
BuildRequires: pango-devel
|
||||||
BuildRequires: startup-notification-devel
|
BuildRequires: startup-notification-devel
|
||||||
@ -197,6 +188,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
|
|||||||
%{_datadir}/mutter/tests
|
%{_datadir}/mutter/tests
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Oct 04 2017 Florian Müllner <fmuellner@redhat.com> - 3.26.1-1
|
||||||
|
- Update to 3.26.1
|
||||||
|
|
||||||
* Wed Sep 21 2017 Florian Müllner <fmuellner@redhat.com> - 3.26.0-5
|
* Wed Sep 21 2017 Florian Müllner <fmuellner@redhat.com> - 3.26.0-5
|
||||||
- Adjust to pipewire API break
|
- Adjust to pipewire API break
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (mutter-3.26.0.tar.xz) = e88e5b120423512ae73a097b0ba3ba24ba6b9f3e53eed438335073b7c442294c9887771290bf63b05fb01f14640b9c4559b39b79d5c2a4fcbca993126e37f700
|
SHA512 (mutter-3.26.1.tar.xz) = e638864fddcebcd922637a7a5a17f19815dc9b77bf72568374a81ad1e327c0fb644f546428848aacb39c99b04eba9f651f441b16e21ad880ab1593ee3ba912f4
|
||||||
|
Loading…
Reference in New Issue
Block a user