Update to 3.19.1
This commit is contained in:
parent
11e24ea041
commit
c51ae27afd
1
.gitignore
vendored
1
.gitignore
vendored
@ -98,3 +98,4 @@ mutter-2.31.5.tar.bz2
|
|||||||
/mutter-3.17.92.tar.xz
|
/mutter-3.17.92.tar.xz
|
||||||
/mutter-3.18.0.tar.xz
|
/mutter-3.18.0.tar.xz
|
||||||
/mutter-3.18.1.tar.xz
|
/mutter-3.18.1.tar.xz
|
||||||
|
/mutter-3.19.1.tar.xz
|
||||||
|
@ -1,101 +0,0 @@
|
|||||||
From a4f763ac3b0530fd602eb30396abe7147cc4c741 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Giovanni Campagna <gcampagna@src.gnome.org>
|
|
||||||
Date: Tue, 13 Oct 2015 21:33:15 -0700
|
|
||||||
Subject: [PATCH] wayland-surface: disconnect signals on destroy
|
|
||||||
|
|
||||||
Otherwise signal handlers will be called on garbage
|
|
||||||
|
|
||||||
https://bugzilla.gnome.org/show_bug.cgi?id=756548
|
|
||||||
---
|
|
||||||
src/wayland/meta-wayland-surface.c | 33 ++++++++++++++++++++++-----------
|
|
||||||
src/wayland/meta-wayland-surface.h | 2 +-
|
|
||||||
2 files changed, 23 insertions(+), 12 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/wayland/meta-wayland-surface.c b/src/wayland/meta-wayland-surface.c
|
|
||||||
index 9d15401..f8f6ffc 100644
|
|
||||||
--- a/src/wayland/meta-wayland-surface.c
|
|
||||||
+++ b/src/wayland/meta-wayland-surface.c
|
|
||||||
@@ -933,22 +933,26 @@ set_surface_is_on_output (MetaWaylandSurface *surface,
|
|
||||||
MetaWaylandOutput *wayland_output,
|
|
||||||
gboolean is_on_output)
|
|
||||||
{
|
|
||||||
- gboolean was_on_output = g_hash_table_contains (surface->outputs,
|
|
||||||
- wayland_output);
|
|
||||||
+ gpointer orig_id;
|
|
||||||
+ gboolean was_on_output = g_hash_table_lookup_extended (surface->outputs_to_destroy_notify_id,
|
|
||||||
+ wayland_output,
|
|
||||||
+ NULL, &orig_id);
|
|
||||||
|
|
||||||
if (!was_on_output && is_on_output)
|
|
||||||
{
|
|
||||||
- g_signal_connect (wayland_output, "output-destroyed",
|
|
||||||
- G_CALLBACK (surface_handle_output_destroy),
|
|
||||||
- surface);
|
|
||||||
- g_hash_table_add (surface->outputs, wayland_output);
|
|
||||||
+ gulong id;
|
|
||||||
+
|
|
||||||
+ id = g_signal_connect (wayland_output, "output-destroyed",
|
|
||||||
+ G_CALLBACK (surface_handle_output_destroy),
|
|
||||||
+ surface);
|
|
||||||
+ g_hash_table_insert (surface->outputs_to_destroy_notify_id, wayland_output,
|
|
||||||
+ GSIZE_TO_POINTER ((gsize)id));
|
|
||||||
surface_entered_output (surface, wayland_output);
|
|
||||||
}
|
|
||||||
else if (was_on_output && !is_on_output)
|
|
||||||
{
|
|
||||||
- g_hash_table_remove (surface->outputs, wayland_output);
|
|
||||||
- g_signal_handlers_disconnect_by_func (
|
|
||||||
- wayland_output, (gpointer)surface_handle_output_destroy, surface);
|
|
||||||
+ g_hash_table_remove (surface->outputs_to_destroy_notify_id, wayland_output);
|
|
||||||
+ g_signal_handler_disconnect (wayland_output, (gulong) GPOINTER_TO_SIZE (orig_id));
|
|
||||||
surface_left_output (surface, wayland_output);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -986,6 +990,12 @@ update_surface_output_state (gpointer key, gpointer value, gpointer user_data)
|
|
||||||
set_surface_is_on_output (surface, wayland_output, is_on_output);
|
|
||||||
}
|
|
||||||
|
|
||||||
+static void
|
|
||||||
+surface_output_disconnect_signal (gpointer key, gpointer value, gpointer user_data)
|
|
||||||
+{
|
|
||||||
+ g_signal_handler_disconnect (key, (gulong) GPOINTER_TO_SIZE (value));
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
void
|
|
||||||
meta_wayland_surface_update_outputs (MetaWaylandSurface *surface)
|
|
||||||
{
|
|
||||||
@@ -1036,7 +1046,8 @@ wl_surface_destructor (struct wl_resource *resource)
|
|
||||||
|
|
||||||
meta_wayland_compositor_destroy_frame_callbacks (compositor, surface);
|
|
||||||
|
|
||||||
- g_hash_table_unref (surface->outputs);
|
|
||||||
+ g_hash_table_foreach (surface->outputs_to_destroy_notify_id, surface_output_disconnect_signal, surface);
|
|
||||||
+ g_hash_table_unref (surface->outputs_to_destroy_notify_id);
|
|
||||||
|
|
||||||
wl_list_for_each_safe (cb, next, &surface->pending_frame_callback_list, link)
|
|
||||||
wl_resource_destroy (cb->resource);
|
|
||||||
@@ -1081,7 +1092,7 @@ meta_wayland_surface_create (MetaWaylandCompositor *compositor,
|
|
||||||
|
|
||||||
sync_drag_dest_funcs (surface);
|
|
||||||
|
|
||||||
- surface->outputs = g_hash_table_new (NULL, NULL);
|
|
||||||
+ surface->outputs_to_destroy_notify_id = g_hash_table_new (NULL, NULL);
|
|
||||||
|
|
||||||
pending_state_init (&surface->pending);
|
|
||||||
return surface;
|
|
||||||
diff --git a/src/wayland/meta-wayland-surface.h b/src/wayland/meta-wayland-surface.h
|
|
||||||
index c0ce8fd..94ba100 100644
|
|
||||||
--- a/src/wayland/meta-wayland-surface.h
|
|
||||||
+++ b/src/wayland/meta-wayland-surface.h
|
|
||||||
@@ -147,7 +147,7 @@ struct _MetaWaylandSurface
|
|
||||||
int scale;
|
|
||||||
int32_t offset_x, offset_y;
|
|
||||||
GList *subsurfaces;
|
|
||||||
- GHashTable *outputs;
|
|
||||||
+ GHashTable *outputs_to_destroy_notify_id;
|
|
||||||
|
|
||||||
/* List of pending frame callbacks that needs to stay queued longer than one
|
|
||||||
* commit sequence, such as when it has not yet been assigned a role.
|
|
||||||
--
|
|
||||||
2.5.0
|
|
||||||
|
|
10
mutter.spec
10
mutter.spec
@ -2,7 +2,7 @@
|
|||||||
%global gsettings_desktop_schemas_version 3.15.92
|
%global gsettings_desktop_schemas_version 3.15.92
|
||||||
|
|
||||||
Name: mutter
|
Name: mutter
|
||||||
Version: 3.18.1
|
Version: 3.19.1
|
||||||
Release: 4%{?dist}
|
Release: 4%{?dist}
|
||||||
Summary: Window and compositing manager based on Clutter
|
Summary: Window and compositing manager based on Clutter
|
||||||
|
|
||||||
@ -10,12 +10,10 @@ Group: User Interface/Desktops
|
|||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
#VCS: git:git://git.gnome.org/mutter
|
#VCS: git:git://git.gnome.org/mutter
|
||||||
URL: http://www.gnome.org
|
URL: http://www.gnome.org
|
||||||
Source0: http://download.gnome.org/sources/%{name}/3.18/%{name}-%{version}.tar.xz
|
Source0: http://download.gnome.org/sources/%{name}/3.19/%{name}-%{version}.tar.xz
|
||||||
|
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1200901
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1200901
|
||||||
Patch0: 0001-Force-cursor-update-after-applying-configuration.patch
|
Patch0: 0001-Force-cursor-update-after-applying-configuration.patch
|
||||||
# Backported from upstream
|
|
||||||
Patch1: 0001-wayland-surface-disconnect-signals-on-destroy.patch
|
|
||||||
|
|
||||||
BuildRequires: clutter-devel >= %{clutter_version}
|
BuildRequires: clutter-devel >= %{clutter_version}
|
||||||
BuildRequires: pango-devel
|
BuildRequires: pango-devel
|
||||||
@ -100,7 +98,6 @@ the functionality of the installed %{name} package.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1 -b .fix-cursor
|
%patch0 -p1 -b .fix-cursor
|
||||||
%patch1 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
autoreconf -f -i
|
autoreconf -f -i
|
||||||
@ -171,6 +168,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
|
|||||||
%{_datadir}/mutter/tests
|
%{_datadir}/mutter/tests
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Oct 29 2015 Florian Müllner <fmuellner@redhat.com> - 3.19.1-1
|
||||||
|
- Update to 3.19.1
|
||||||
|
|
||||||
* Wed Oct 21 2015 Ray Strode <rstrode@redhat.com> 3.18.1-4
|
* Wed Oct 21 2015 Ray Strode <rstrode@redhat.com> 3.18.1-4
|
||||||
- Force the cursor visible on vt switches after setting
|
- Force the cursor visible on vt switches after setting
|
||||||
the crtc to workaround that qxl bug from before in a
|
the crtc to workaround that qxl bug from before in a
|
||||||
|
Loading…
Reference in New Issue
Block a user