diff --git a/app_state.py b/app_state.py index a98ebf9..645072e 100644 --- a/app_state.py +++ b/app_state.py @@ -8,7 +8,7 @@ so later rebinding would only ever be seen by the module that did it. import configparser import os -VERSION = "0.0.0.124" +VERSION = "0.0.0.125" PROPERTIES_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), "editor.properties") DEFAULT_GRID_SIZE = 10 DEFAULT_ADD_TIMESTAMP = True diff --git a/ox_page_view.py b/ox_page_view.py index c6ccbad..b4a9d80 100644 --- a/ox_page_view.py +++ b/ox_page_view.py @@ -397,8 +397,11 @@ class OxPageViewPanel: for iid, comp in self._tree_items.items(): if comp is widget: - self._tree.selection_set(iid) - self._tree.see(iid) + # selection_set always fires <>, which calls + # back into _select_widget — only set it when it changes. + if self._tree.selection() != (iid,): + self._tree.selection_set(iid) + self._tree.see(iid) break name = widget.get("name", "?")