[Xfce4-commits] [xfce/thunar] 01/02: Crash in tree-view when multiple windows are open (Bug #14714)
noreply at xfce.org
noreply at xfce.org
Sat Oct 13 21:12:22 CEST 2018
This is an automated email from the git hooks/post-receive script.
a l e x p u s h e d a c o m m i t t o b r a n c h x f c e - 4 . 1 2
in repository xfce/thunar.
commit 42bfa0dc3be571cf8677ac350d115528597f899b
Author: Alexander Schwinn <alexxcons at xfce.org>
Date: Tue Oct 2 22:05:52 2018 +0200
Crash in tree-view when multiple windows are open (Bug #14714)
---
thunar/thunar-tree-model.c | 38 --------------------------------------
thunar/thunar-tree-model.h | 2 --
thunar/thunar-tree-view.c | 11 ++++++++---
3 files changed, 8 insertions(+), 43 deletions(-)
diff --git a/thunar/thunar-tree-model.c b/thunar/thunar-tree-model.c
index df06fd3..9eb652f 100644
--- a/thunar/thunar-tree-model.c
+++ b/thunar/thunar-tree-model.c
@@ -1778,44 +1778,6 @@ thunar_tree_model_node_traverse_visible (GNode *node,
/**
- * thunar_tree_model_get_default:
- *
- * Returns the default, shared #ThunarTreeModel instance.
- *
- * The caller is responsible to free the returned instance
- * using g_object_unref() when no longer needed.
- *
- * Return value: a reference to the default #ThunarTreeModel.
- **/
-ThunarTreeModel*
-thunar_tree_model_get_default (void)
-{
- static ThunarTreeModel *model = NULL;
- ThunarPreferences *preferences;
-
- if (G_LIKELY (model == NULL))
- {
- /* allocate the shared model on-demand */
- model = g_object_new (THUNAR_TYPE_TREE_MODEL, NULL);
- g_object_add_weak_pointer (G_OBJECT (model), (gpointer) &model);
-
- /* synchronize the the global "misc-case-sensitive" preference */
- preferences = thunar_preferences_get ();
- g_object_set_data_full (G_OBJECT (model), I_("thunar-preferences"), preferences, g_object_unref);
- exo_binding_new (G_OBJECT (preferences), "misc-case-sensitive", G_OBJECT (model), "case-sensitive");
- }
- else
- {
- /* take a reference for the caller */
- g_object_ref (G_OBJECT (model));
- }
-
- return model;
-}
-
-
-
-/**
* thunar_tree_model_get_case_sensitive:
* @model : a #ThunarTreeModel.
*
diff --git a/thunar/thunar-tree-model.h b/thunar/thunar-tree-model.h
index 5c7f5f3..0bc0cf2 100644
--- a/thunar/thunar-tree-model.h
+++ b/thunar/thunar-tree-model.h
@@ -59,8 +59,6 @@ typedef enum
GType thunar_tree_model_get_type (void) G_GNUC_CONST;
-ThunarTreeModel *thunar_tree_model_get_default (void);
-
void thunar_tree_model_set_visible_func (ThunarTreeModel *model,
ThunarTreeModelVisibleFunc func,
gpointer data);
diff --git a/thunar/thunar-tree-view.c b/thunar/thunar-tree-view.c
index 2c1e068..7a61172 100644
--- a/thunar/thunar-tree-view.c
+++ b/thunar/thunar-tree-view.c
@@ -392,8 +392,13 @@ thunar_tree_view_init (ThunarTreeView *view)
view->preferences = thunar_preferences_get ();
g_signal_connect_swapped (G_OBJECT (view->preferences), "notify::tree-icon-emblems", G_CALLBACK (gtk_widget_queue_draw), view);
- /* connect to the default tree model */
- view->model = thunar_tree_model_get_default ();
+ /* Create a tree model for this tree view */
+ view->model = g_object_new (THUNAR_TYPE_TREE_MODEL, NULL);
+
+ /* synchronize the the global "misc-case-sensitive" preference */
+ g_object_set_data_full (G_OBJECT (view->model), I_("thunar-preferences"), view->preferences, g_object_unref);
+ exo_binding_new (G_OBJECT (view->preferences), "misc-case-sensitive", G_OBJECT (view->model), "case-sensitive");
+
thunar_tree_model_set_visible_func (view->model, thunar_tree_view_visible_func, view);
gtk_tree_view_set_model (GTK_TREE_VIEW (view), GTK_TREE_MODEL (view->model));
@@ -487,7 +492,7 @@ thunar_tree_view_finalize (GObject *object)
/* release our reference on the preferences */
g_object_unref (G_OBJECT (view->preferences));
- /* disconnect from the default tree model */
+ /* free the tree model */
g_object_unref (G_OBJECT (view->model));
/* drop any existing "new-files" closure */
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list