diff --git a/src/RepairGUIAdv/basedlg.py b/src/RepairGUIAdv/basedlg.py index 4566ae867..1f92af5ed 100644 --- a/src/RepairGUIAdv/basedlg.py +++ b/src/RepairGUIAdv/basedlg.py @@ -26,7 +26,7 @@ from qtsalome import Qt, QWidget, QMessageBox, QApplication, QGridLayout from salome.gui import helper from salome.kernel.studyedit import EDITOR -from salome.kernel.services import IDToObject +from salome.kernel.services import IDToObject, ObjectToID from salome.geom import geomBuilder from libGEOM_Swig import GEOM_Swig import SalomePyQt @@ -326,7 +326,15 @@ class BaseDlg(Ui_BaseDlg, QWidget): source_name = EDITOR.getName(sobject) self.set_result_name(self._result_name + source_name) self._selected_widget.LineEdit1.setText(source_name) + + # Check if we selected other object in a browser - + # we need to set a level flag to init a local selection again + prev_entry = ObjectToID(self._selected_object, EDITOR.study) + if prev_entry != entry: + self._is_level_changed = True + self._selected_object = IDToObject(entry, EDITOR.study) + else: self.set_result_name(self._result_name) self._selected_widget.LineEdit1.clear()