]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Bug fix: Id of removed tab not removed from myIdIndex map in method tabRemoved(). V5_1_14
authorsan <san@opencascade.com>
Mon, 19 Sep 2011 12:11:24 +0000 (12:11 +0000)
committersan <san@opencascade.com>
Mon, 19 Sep 2011 12:11:24 +0000 (12:11 +0000)
src/Qtx/QtxWorkstack.cxx

index 08f82ef9c5e7224cf8acd2f8bdbea9a7abe46696..a9c4bf5587d10e1a481b9a20f2a0f9471729b9de 100644 (file)
@@ -1483,16 +1483,23 @@ void QtxWorkstackTabBar::tabInserted( int index )
     if ( it.value() >= index )
       it.value()++;
   }
+  myIdIndex.insert( tabId( index ), index );
 }
 
 void QtxWorkstackTabBar::tabRemoved( int index )
 {
   QTabBar::tabRemoved( index );
 
+  int id = -1;
   for ( QMap<int, int>::iterator it = myIdIndex.begin(); it != myIdIndex.end(); ++it ) {
-    if ( it.value() > index )
+    if ( it.value() == index )
+      id = it.key();
+    else if ( it.value() > index )
       it.value()--;
   }
+
+  if ( id >= 0 )
+    myIdIndex.remove( id );
 }
 
 /*!