diff --git a/FlatCAMObj.py b/FlatCAMObj.py index fcb955dc..4ecb1095 100644 --- a/FlatCAMObj.py +++ b/FlatCAMObj.py @@ -181,17 +181,18 @@ class FlatCAMObj(QtCore.QObject): old_name = copy(self.options["name"]) new_name = self.ui.name_entry.get_value() - # update the SHELL auto-completer model data - try: - self.app.myKeywords.remove(old_name) - self.app.myKeywords.append(new_name) - self.app.shell._edit.set_model_data(self.app.myKeywords) - self.app.ui.code_editor.set_model_data(self.app.myKeywords) - except: - log.debug("on_name_activate() --> Could not remove the old object name from auto-completer model list") + if new_name != old_name: + # update the SHELL auto-completer model data + try: + self.app.myKeywords.remove(old_name) + self.app.myKeywords.append(new_name) + self.app.shell._edit.set_model_data(self.app.myKeywords) + self.app.ui.code_editor.set_model_data(self.app.myKeywords) + except: + log.debug("on_name_activate() --> Could not remove the old object name from auto-completer model list") - self.options["name"] = self.ui.name_entry.get_value() - self.app.inform.emit(_("[success] Name changed from {old} to {new}").format(old=old_name, new=new_name)) + self.options["name"] = self.ui.name_entry.get_value() + self.app.inform.emit(_("[success] Name changed from {old} to {new}").format(old=old_name, new=new_name)) def on_offset_button_click(self): self.app.report_usage("obj_on_offset_button") diff --git a/README.md b/README.md index 5a0b2fcd..606c8501 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ CAD program, and create G-Code for Isolation routing. - Geometry Editor: modified the intersection (if the selected shapes don't intersects preserve them) and substract functions (delete all shapes that were used in the process) - work in the ToolSilk +- for all objects, if in Selected the object name is changed to the same name, the rename is not done (because there is nothing changed) 24.04.2019 diff --git a/flatcamTools/ToolSilk.py b/flatcamTools/ToolSilk.py index 7c0db6c8..6fec08bf 100644 --- a/flatcamTools/ToolSilk.py +++ b/flatcamTools/ToolSilk.py @@ -209,9 +209,13 @@ class ToolSilk(FlatCAMTool): while True: # removal from list is done in a multithreaded way therefore not always the removal can be done # so we keep trying until it's done - self.promises.remove(apid) + if apid in self.promises: + self.promises.remove(apid) + else: + break time.sleep(0.1) except: + log.debug("Promise fulfilled: %s" % str(apid)) pass def periodic_check(self, check_period, reset=False):