Skip to content

[#967] Qt interactive adjustment dialog stuck after Continue / with Auto Output Levels - #968

Merged
eoyilmaz merged 1 commit into
developfrom
967-qt-interactive-display-adjustment-dialog-stuck
Jul 28, 2026
Merged

eoyilmaz merged 1 commit into
developfrom
967-qt-interactive-display-adjustment-dialog-stuck

Conversation

@eoyilmaz

@eoyilmaz eoyilmaz commented Jul 28, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Fixes [Qt] Interactive Display Adjustment dialog never closes after "Continue on to calibration" (Auto Output Levels leaves a stuck progress dialog too) #967
  • AdjustmentController._on_poll() ported wx's swap-to-progress-dialog logic (Worker.progress_handler()) but dropped its not self._detecting_video_levels guard, so a slow Auto Output Levels pre-check (Worker.detect_video_levels(), which runs a dispread patch measurement before dispcal) got mistaken for real calibration progress and swapped the still-blank "Interactive Display Adjustment" window out for a plain progress dialog
  • Once dispcal's interactive menu later re-showed the adjustment window, the stale progress dialog was never hidden (both stayed on screen), and _swapped being stuck True meant the poll never handed off cleanly for the real post-"Continue" measurement either, leaving the window unresponsive until it was force-closed (aborting the run)
  • Added the missing guard, matching wx's behavior exactly, plus a regression test
  • Bumped DisplayCAL/VERSION to 3.10.0.dev81

Test plan

  • pytest tests/test_ui_worker_runner.py tests/test_ui_display_adjustment_window.py tests/test_ui_display_adjustment.py (103 passed, 2 unrelated skips)
  • Confirmed the fix resolves the issue on real hardware

…dialog during Auto Output Levels detection

AdjustmentController._on_poll() ported wx's Worker.progress_handler()
swap-to-progress-dialog logic but dropped its `not
self._detecting_video_levels` guard. Worker.calibrate() always runs
detect_video_levels() (a dispread patch measurement) before dispcal
when Output Levels is Auto, and that pre-check emits the same
"Patch N of M" progress text the swap looks for.

Without the guard, a slow Auto detection got mistaken for real
calibration progress, swapping the still-blank adjustment window out
for a plain progress dialog. Once dispcal's interactive menu later
re-showed the adjustment window, the stale progress dialog was never
hidden, leaving both on screen, and `_swapped` stuck `True` meant the
poll never handed off cleanly for the real post-"Continue" measurement
either.
@eoyilmaz
eoyilmaz merged commit 61b63d9 into develop Jul 28, 2026
15 checks passed
@eoyilmaz
eoyilmaz deleted the 967-qt-interactive-display-adjustment-dialog-stuck branch July 28, 2026 21:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Qt] Interactive Display Adjustment dialog never closes after "Continue on to calibration" (Auto Output Levels leaves a stuck progress dialog too)

1 participant