From f729c83734cce23ae6baa694a59850c6e09b767e Mon Sep 17 00:00:00 2001 From: David Foster Date: Fri, 19 Jan 2024 09:59:26 -0500 Subject: [PATCH] Revert "Don't temporarily deactivate Crystal when LoadUrlsProgressDialog closes on Windows" This reverts commit d837ac59553cdb234438561dc422e71b50e9bce1. Fixes segfault on Windows when running tests like: $ crystal --test crystal.tests.test_load_urls --- RELEASE_NOTES.md | 2 -- src/crystal/browser/__init__.py | 7 ------- src/crystal/progress.py | 3 --- 3 files changed, 12 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 99732ea4..25452510 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -46,8 +46,6 @@ Release Notes ⋮ * Fixes * Fix disappearance of error nodes when new root URL or group is added. - * Fix flicker effect related to the Crystal app deactivating momentarily - when the "Loading URLs..." dialog closes on Windows. ### v1.7.0b (December 18, 2023) diff --git a/src/crystal/browser/__init__.py b/src/crystal/browser/__init__.py index 948c08b2..8d7d59f3 100644 --- a/src/crystal/browser/__init__.py +++ b/src/crystal/browser/__init__.py @@ -13,7 +13,6 @@ from crystal.progress import ( CancelLoadUrls, DummyOpenProjectProgressListener, - LoadUrlsProgressDialog, OpenProjectProgressListener, ) from crystal.server import ProjectServer @@ -126,12 +125,6 @@ def __init__(self, min_height = task_pane.GetBestSize().Height * 2 raw_frame.MinSize = wx.Size(min_width, min_height) - # Attach Project's LoadUrlsProgressListener to main window's frame - # HACK: Is using private API of Project - load_urls_progress_listener = project._load_urls_progress_listener - if isinstance(load_urls_progress_listener, LoadUrlsProgressDialog): - load_urls_progress_listener.parent = raw_frame - self._frame = raw_frame except: raw_frame.Destroy() diff --git a/src/crystal/progress.py b/src/crystal/progress.py index 078e1e29..461a1954 100644 --- a/src/crystal/progress.py +++ b/src/crystal/progress.py @@ -13,12 +13,10 @@ class _AbstractProgressDialog: _dialog_title: str # abstract _CancelException: Type[Exception] # abstract - parent: Optional[wx.Window] _dialog_style: Optional[int] _dialog: Optional[wx.ProgressDialog] def __init__(self) -> None: - self.parent = None self._dialog_style = None self._dialog = None self.reset() @@ -71,7 +69,6 @@ def _update_can_cancel(self, can_cancel: bool, new_message: str) -> None: # TODO: Shouldn't the maximum of the previous dialog version, # if any, be preserved here? maximum=1, - parent=self.parent, style=new_style ) self._dialog.Name = new_name