]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
#1041 Sometimes when setting several distance constraints, the first input field...
authornds <nds@opencascade.com>
Thu, 8 Oct 2015 09:49:50 +0000 (12:49 +0300)
committernds <nds@opencascade.com>
Thu, 8 Oct 2015 09:50:13 +0000 (12:50 +0300)
XGUI_PropertyPanel::activateNextWidget: the function is not finished yet, only setFocus is called. During this setFocus, the WidgetEditor leads to restart of the distance operation. When the loop returned back to the activateNextWidget, aNextWidget=0(sometimes or trash) and the empty widget is activated(after the distance operation has been already started with existed active first widget).

src/XGUI/XGUI_PropertyPanel.cpp

index 89b9461f51556a3e303bef2c6d36b7b6013b36ec..ab7695723b537203d7a3f62b8c002fdf9398c5bd 100644 (file)
@@ -166,23 +166,18 @@ void XGUI_PropertyPanel::activateNextWidget(ModuleBase_ModelWidget* theWidget)
     activateWidget(NULL);
     return;
   }
-  ModuleBase_ModelWidget* aNextWidget = 0;
   QList<ModuleBase_ModelWidget*>::const_iterator anIt = myWidgets.begin(), aLast = myWidgets.end();
   bool isFoundWidget = false;
   activateWindow();
-  for (; anIt != aLast && !aNextWidget; anIt++) {
+  for (; anIt != aLast; anIt++) {
     if (isFoundWidget || !theWidget) {
       if ((*anIt)->focusTo()) {
-        aNextWidget = *anIt;
+        return;
       }
     }
     isFoundWidget = (*anIt) == theWidget;
   }
-  // Normaly focusTo is enough to activate widget
-  // here is a special case on mouse click in the viewer
-  if(aNextWidget == NULL) {
-    activateWidget(aNextWidget);
-  }
+  activateWidget(NULL);
 }
 
 void XGUI_PropertyPanel::activateNextWidget()