From 05114a7f3d20fb4f563700ab1b99528bbd28ecbc Mon Sep 17 00:00:00 2001 From: Marek Kasik Date: Apr 13 2018 15:30:32 +0000 Subject: Fix crash in EvMediaPlayerKeys The craqsh is probably caused by not cancelling getting of GDBusProxy when needed Resolves: #1359507 --- diff --git a/evince-3.26-media-player-keys.patch b/evince-3.26-media-player-keys.patch new file mode 100644 index 0000000..5a7148e --- /dev/null +++ b/evince-3.26-media-player-keys.patch @@ -0,0 +1,43 @@ +diff --git a/shell/ev-media-player-keys.c b/shell/ev-media-player-keys.c +index a0075edc..63a1344c 100644 +--- a/shell/ev-media-player-keys.c ++++ b/shell/ev-media-player-keys.c +@@ -41,8 +41,9 @@ struct _EvMediaPlayerKeys + { + GObject parent; + +- GDBusProxy *proxy; +- gboolean has_name_owner; ++ GDBusProxy *proxy; ++ gboolean has_name_owner; ++ GCancellable *service_appearance_cancellable; + }; + + struct _EvMediaPlayerKeysClass +@@ -187,13 +188,15 @@ mediakeys_service_appeared_cb (GObject *source_object, + static void + ev_media_player_keys_init (EvMediaPlayerKeys *keys) + { ++ keys->service_appearance_cancellable = g_cancellable_new (); ++ + g_dbus_proxy_new_for_bus (G_BUS_TYPE_SESSION, + G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, + NULL, + SD_NAME, + SD_OBJECT_PATH, + SD_INTERFACE, +- NULL, ++ keys->service_appearance_cancellable, + mediakeys_service_appeared_cb, + keys); + } +@@ -212,6 +215,9 @@ ev_media_player_keys_finalize (GObject *object) + { + EvMediaPlayerKeys *keys = EV_MEDIA_PLAYER_KEYS (object); + ++ g_cancellable_cancel (keys->service_appearance_cancellable); ++ g_object_unref (keys->service_appearance_cancellable); ++ + if (keys->proxy != NULL) { + ev_media_player_keys_release_keys (keys); + g_object_unref (keys->proxy); diff --git a/evince.spec b/evince.spec index a429017..ae2a051 100644 --- a/evince.spec +++ b/evince.spec @@ -5,7 +5,7 @@ Name: evince Version: 3.26.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Document viewer License: GPLv2+ and GPLv3+ and LGPLv2+ and MIT and Afmparse @@ -17,6 +17,7 @@ Patch0: evince-3.21.4-NPNVToolKit.patch Patch3: 0001-Resolves-deb-762530-rhbz-1061177-add-man-pages.patch Patch4: 0001-Resolves-rhbz-1358249-page-up-down.patch Patch6: 0001-Revert-Bump-poppler-requirements-to-0.33.0.patch +Patch7: evince-3.26-media-player-keys.patch BuildRequires: pkgconfig(adwaita-icon-theme) BuildRequires: pkgconfig(gio-unix-2.0) >= %{glib2_version} @@ -264,6 +265,11 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas >&/dev/null ||: %{_libdir}/mozilla/plugins/libevbrowserplugin.so %changelog +* Fri Apr 13 2018 Marek Kasik - 3.26.0-2 +- Fix crash in EvMediaPlayerKeys which is probably caused +- by not cancelling getting of GDBusProxy when needed +- Resolves: #1359507 + * Wed Sep 13 2017 Kalev Lember - 3.26.0-1 - Update to 3.26.0