Skip to content

Commit 66f21b6

Browse files
author
PyCompiler ARK++
committed
fix: Add defensive checks for widget connections in BCASLStudioWindow
1 parent 7c21c05 commit 66f21b6

1 file changed

Lines changed: 24 additions & 11 deletions

File tree

bcasl/only_mod/widgets/main_window.py

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -169,23 +169,36 @@ def _wire_menu_from_ui(self):
169169
self._populate_theme_menu()
170170

171171
def _wire_logic(self):
172-
# Buttons
173-
self.ws_browse.clicked.connect(self._browse_ws)
174-
self.plugins_browse.clicked.connect(self._browse_plugins)
175-
self.btn_load_ws.clicked.connect(self._load_workspace)
176-
self.btn_save_cfg.clicked.connect(self._save_cfg)
177-
self.btn_run.clicked.connect(self._run)
172+
# Buttons (defensive: only connect when widgets are present)
173+
try:
174+
if self.ws_browse:
175+
self.ws_browse.clicked.connect(self._browse_ws)
176+
if self.plugins_browse:
177+
self.plugins_browse.clicked.connect(self._browse_plugins)
178+
if self.btn_load_ws:
179+
self.btn_load_ws.clicked.connect(self._load_workspace)
180+
if self.btn_save_cfg:
181+
self.btn_save_cfg.clicked.connect(self._save_cfg)
182+
if self.btn_run:
183+
self.btn_run.clicked.connect(self._run)
184+
except Exception:
185+
pass
178186
# Filters
179187
try:
180-
self.filter_text.textChanged.connect(lambda _=None: self._apply_filters())
181-
self.filter_phase.currentIndexChanged.connect(lambda _=None: self._apply_filters())
188+
if self.filter_text:
189+
self.filter_text.textChanged.connect(lambda _=None: self._apply_filters())
190+
if self.filter_phase:
191+
self.filter_phase.currentIndexChanged.connect(lambda _=None: self._apply_filters())
182192
except Exception:
183193
pass
184194
# Sync compact settings with dock settings
185195
try:
186-
self.sp_timeout2.valueChanged.connect(lambda _=None: self._sync_settings_from_compact())
187-
self.chk_sandbox2.toggled.connect(lambda _=None: self._sync_settings_from_compact())
188-
self.sp_parallel2.valueChanged.connect(lambda _=None: self._sync_settings_from_compact())
196+
if self.sp_timeout2:
197+
self.sp_timeout2.valueChanged.connect(lambda _=None: self._sync_settings_from_compact())
198+
if self.chk_sandbox2:
199+
self.chk_sandbox2.toggled.connect(lambda _=None: self._sync_settings_from_compact())
200+
if self.sp_parallel2:
201+
self.sp_parallel2.valueChanged.connect(lambda _=None: self._sync_settings_from_compact())
189202
except Exception:
190203
pass
191204

0 commit comments

Comments
 (0)