[egg-list-box] flow-box: Fix a corner-case in selection mode setting



commit 338f6b7b08d3faf7fa12e695e6dfd814efaf8c89
Author: Matthias Clasen <mclasen redhat com>
Date:   Thu Feb 21 00:19:18 2013 -0500

    flow-box: Fix a corner-case in selection mode setting
    
    When switching from browse to none, the selection was not
    cleared.

 egg-flow-box.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/egg-flow-box.c b/egg-flow-box.c
index 590607b..b2c1fc7 100644
--- a/egg-flow-box.c
+++ b/egg-flow-box.c
@@ -3472,6 +3472,7 @@ void
 egg_flow_box_set_selection_mode (EggFlowBox *box,
                                  GtkSelectionMode mode)
 {
+  gboolean dirty;
   g_return_if_fail (EGG_IS_FLOW_BOX (box));
 
   if (mode == box->priv->selection_mode)
@@ -3479,11 +3480,14 @@ egg_flow_box_set_selection_mode (EggFlowBox *box,
 
   if (mode == GTK_SELECTION_NONE ||
       box->priv->selection_mode == GTK_SELECTION_MULTIPLE)
-    egg_flow_box_unselect_all (box);
+    dirty = egg_flow_box_unselect_all_internal (box);
 
   box->priv->selection_mode = mode;
 
   g_object_notify (G_OBJECT (box), "selection-mode");
+
+  if (dirty)
+    g_signal_emit (box, signals[SELECTED_CHILDREN_CHANGED], 0);
 }
 
 GtkSelectionMode


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