Compare commits

...

1 Commits
rawhide ... f27

Author SHA1 Message Date
Marek Kasik
05114a7f3d Fix crash in EvMediaPlayerKeys
The craqsh is probably caused by not cancelling
getting of GDBusProxy when needed

Resolves: #1359507
2018-04-13 17:30:32 +02:00
2 changed files with 50 additions and 1 deletions

View File

@ -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);

View File

@ -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 <mkasik@redhat.com> - 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 <klember@redhat.com> - 3.26.0-1
- Update to 3.26.0