[rhythmbox] entry-view: hold a reference on the tree view selection
- From: Jonathan Matthew <jmatthew src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rhythmbox] entry-view: hold a reference on the tree view selection
- Date: Tue, 17 Mar 2015 12:45:16 +0000 (UTC)
commit 21294f1ed8c02d3f75adf59673add3bb06601efe
Author: Jonathan Matthew <jonathan d14n org>
Date: Tue Mar 17 22:42:31 2015 +1000
entry-view: hold a reference on the tree view selection
Apparently this gets disposed of earlier than we'd like otherwise.
Also stop paying attention to selection changes when the entry view is
disposed so we don't try looking at it later on.
widgets/rb-entry-view.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
---
diff --git a/widgets/rb-entry-view.c b/widgets/rb-entry-view.c
index a9db4bc..120f592 100644
--- a/widgets/rb-entry-view.c
+++ b/widgets/rb-entry-view.c
@@ -534,6 +534,13 @@ rb_entry_view_dispose (GObject *object)
view->priv->selection_changed_id = 0;
}
+ if (view->priv->selection) {
+ g_signal_handlers_disconnect_by_func (view->priv->selection,
+ G_CALLBACK (rb_entry_view_selection_changed_cb),
+ view);
+ g_clear_object (&view->priv->selection);
+ }
+
if (view->priv->playing_model != NULL) {
g_object_unref (view->priv->playing_model);
view->priv->playing_model = NULL;
@@ -1819,6 +1826,7 @@ rb_entry_view_constructed (GObject *object)
G_CALLBACK (rb_entry_view_selection_changed_cb),
view,
0);
+ g_object_ref (view->priv->selection);
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (view->priv->treeview), TRUE);
gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (view->priv->treeview), TRUE);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]