diff options
author | Ernestas Kulik <ernestask@gnome.org> | 2018-10-06 19:48:30 +0300 |
---|---|---|
committer | Ernestas Kulik <ernestask@gnome.org> | 2018-10-06 19:48:30 +0300 |
commit | 1d2da6b9913dbe99917494063c5e30bbbb4db679 (patch) | |
tree | 80f5f3da7ca40efc88c762b0c6e48980533df7ea | |
parent | 982fe134c74f44b652854c30eb2a78fab6ca5db0 (diff) | |
download | tracker-wip/ernestask/43.tar.gz |
libtracker-sparql: Check for null pointers in finalize()wip/ernestask/43
tracker_notifier_finalize() may accidentally stumble upon a null pointer
or two, throwing warnings and making Nautilus CI pipelines fail.
Related: https://gitlab.gnome.org/GNOME/tracker/issues/43
-rw-r--r-- | src/libtracker-sparql/tracker-notifier.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/libtracker-sparql/tracker-notifier.c b/src/libtracker-sparql/tracker-notifier.c index 4f7647d24..6fc319cb0 100644 --- a/src/libtracker-sparql/tracker-notifier.c +++ b/src/libtracker-sparql/tracker-notifier.c @@ -792,11 +792,16 @@ tracker_notifier_finalize (GObject *object) priv = tracker_notifier_get_instance_private (TRACKER_NOTIFIER (object)); - g_dbus_connection_signal_unsubscribe (priv->dbus_connection, - priv->graph_updated_signal_id); + if (priv->dbus_connection) { + g_dbus_connection_signal_unsubscribe (priv->dbus_connection, + priv->graph_updated_signal_id); + + g_object_unref (priv->dbus_connection); + } + + if (priv->connection) + g_object_unref (priv->connection); - g_object_unref (priv->dbus_connection); - g_object_unref (priv->connection); g_hash_table_unref (priv->cached_ids); g_hash_table_unref (priv->cached_events); g_strfreev (priv->expanded_classes); |