mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-06-23 07:54:13 +02:00
5cc2e165bf
ProjectPropertiesDialog::exec() was using Qt::WindowModal, which only blocks the parent ProjectView window. The MDI workspace and its other subwindows remained interactive, so actions like new_project or close_project could fire while the dialog's config pages still held raw QETProject* pointers — leading to a SIGSEGV when Qt's event loop later dispatched a signal through one of those stale pointers. Detected by the 8-hour GUI fuzzer: action sequence add_diagram_page → flood_wires ×18 → new_project while Project Properties was open produced exit code -11 (SIGSEGV) on the first of 12,717 actions. Switch to Qt::ApplicationModal so no window can receive input while the dialog is open. Project Properties is a short-lived dialog; blocking the whole application for its duration matches user expectation and removes the lifetime hazard without requiring QPointer surgery across four config-page classes. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>