[bijiben] selectiontoolbar : do not destroy twice things



commit 67fe786e6c5432891ae7f8dba3c3fe3987436c3e
Author: Pierre-Yves Luyten <py luyten fr>
Date:   Thu Feb 14 00:42:22 2013 +0100

    selectiontoolbar : do not destroy twice things

 src/bjb-main-toolbar.c      |    2 --
 src/bjb-main-view.c         |   12 ++++--------
 src/bjb-selection-toolbar.c |    5 -----
 src/bjb-window-base.c       |    3 ++-
 4 files changed, 6 insertions(+), 16 deletions(-)
---
diff --git a/src/bjb-main-toolbar.c b/src/bjb-main-toolbar.c
index 94a6e6d..04992b8 100644
--- a/src/bjb-main-toolbar.c
+++ b/src/bjb-main-toolbar.c
@@ -384,8 +384,6 @@ bjb_main_toolbar_finalize (GObject *object)
   BjbMainToolbar *self = BJB_MAIN_TOOLBAR(object);
   BjbMainToolbarPrivate *priv = self->priv;
 
-  gtk_widget_destroy (GTK_WIDGET (self->priv->toolbar));
-
   if (priv->search_handler != 0)
   {
     g_signal_handler_disconnect (priv->controller, priv->search_handler);
diff --git a/src/bjb-main-view.c b/src/bjb-main-view.c
index 73a6af9..9357a44 100644
--- a/src/bjb-main-view.c
+++ b/src/bjb-main-view.c
@@ -61,6 +61,7 @@ struct _BjbMainViewPriv {
 
   /* Selection Mode */
   ClutterActor     *actions ;
+  BjbSelectionToolbar  *select_bar;
 
   /* Search Entry  */
   ClutterActor     *search_actor;
@@ -96,13 +97,9 @@ bjb_main_view_finalize (GObject *object)
 
   /* Widgets, actors */
   g_clear_object (&priv->main_toolbar);
+  g_clear_object (&priv->select_bar);
   g_clear_object (&priv->search_bar);
 
-  gtk_widget_destroy (GTK_WIDGET (priv->view));
-  bjb_controller_set_main_view (priv->controller, NULL);
-
-  clutter_actor_destroy (priv->bin);
-
   G_OBJECT_CLASS (bjb_main_view_parent_class)->finalize (object);
 }
 
@@ -490,7 +487,6 @@ bjb_main_view_constructed(GObject *o)
   ClutterActor         *stage, *top, *view, *selection_bar;
   ClutterLayoutManager *filler, *packer, *switcher, *overlay;
   ClutterConstraint    *constraint ;
-  BjbSelectionToolbar  *panel ;
 
   G_OBJECT_CLASS (bjb_main_view_parent_class)->constructed(G_OBJECT(o));
 
@@ -568,8 +564,8 @@ bjb_main_view_constructed(GObject *o)
                          bjb_controller_get_model(priv->controller));
 
   /* Selection Panel */
-  panel = bjb_selection_toolbar_new (priv->content,priv->view,self);
-  selection_bar = bjb_selection_toolbar_get_actor (panel);
+  priv->select_bar = bjb_selection_toolbar_new (priv->content,priv->view,self);
+  selection_bar = bjb_selection_toolbar_get_actor (priv->select_bar);
   clutter_actor_add_child (priv->bin, selection_bar);
 
   /* Drag n drop */
diff --git a/src/bjb-selection-toolbar.c b/src/bjb-selection-toolbar.c
index 9c2ae4d..ad273ab 100644
--- a/src/bjb-selection-toolbar.c
+++ b/src/bjb-selection-toolbar.c
@@ -121,11 +121,6 @@ bjb_selection_toolbar_selection_changed (GdMainView *view, gpointer user_data)
 static void
 bjb_selection_toolbar_dispose (GObject *object)
 {
-  BjbSelectionToolbar *self = BJB_SELECTION_TOOLBAR (object);
-  BjbSelectionToolbarPrivate *priv = self->priv;
-
-  gtk_widget_destroy (priv->widget);
-
   G_OBJECT_CLASS (bjb_selection_toolbar_parent_class)->dispose (object);
 }
 
diff --git a/src/bjb-window-base.c b/src/bjb-window-base.c
index 0bb7a16..5d20eb3 100644
--- a/src/bjb-window-base.c
+++ b/src/bjb-window-base.c
@@ -62,8 +62,9 @@ bjb_window_base_finalize (GObject *object)
   BjbWindowBase *self = BJB_WINDOW_BASE (object);
   BjbWindowBasePriv *priv = self->priv;
 
-  g_clear_object (&priv->controller);
   g_clear_object (&priv->view);
+  g_clear_object (&priv->controller);
+
   G_OBJECT_CLASS (bjb_window_base_parent_class)->finalize (object);
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]