Code

Ensure active unit member pointer is always initialized, fixes 1784559
authorjoncruz <joncruz@users.sourceforge.net>
Sun, 2 Sep 2007 07:38:52 +0000 (07:38 +0000)
committerjoncruz <joncruz@users.sourceforge.net>
Sun, 2 Sep 2007 07:38:52 +0000 (07:38 +0000)
src/helper/unit-tracker.cpp

index 989be2400baa9736a2d8f115710581fca1678d2a..93f5bfee1e8ff5d5135a94a726a4b9d09da9a145 100644 (file)
@@ -69,6 +69,8 @@ void UnitTracker::setBase( guint bases )
     gint count = gtk_tree_model_iter_n_children( GTK_TREE_MODEL(_store), 0 );
     if ( (count > 0) && (_active > count) ) {
         _setActive( count - 1 );
+    } else {
+        _setActive( _active );
     }
 }
 
@@ -186,7 +188,7 @@ void UnitTracker::_adjustmentFinalized( GObject *where_the_object_was )
 
 void UnitTracker::_setActive( gint active )
 {
-    if ( active != _active ) {
+    if ( active != _active || (_activeUnit == 0) ) {
         gint oldActive = _active;
 
         GtkTreeIter iter;