mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-06-23 07:54:13 +02:00
Merge pull request #528 from ispyisail/fix/project-props-dialog-modality
Merged as discussed in #527 Thanks @ispyisail
This commit is contained in:
+4
-1
@@ -1993,7 +1993,10 @@ void QETApp::configureQET()
|
||||
// cree le dialogue
|
||||
ConfigDialog cd;
|
||||
cd.setWindowTitle(tr("Configurer QElectroTech", "window title"));
|
||||
cd.setWindowModality(Qt::WindowModal);
|
||||
// ApplicationModal so no other window can dispatch events while the dialog
|
||||
// holds raw pointers derived from the current project list. Same class of
|
||||
// bug as ProjectPropertiesDialog — see issue #527.
|
||||
cd.setWindowModality(Qt::ApplicationModal);
|
||||
cd.addPage(new GeneralConfigurationPage());
|
||||
cd.addPage(new NewDiagramPage());
|
||||
cd.addPage(new ExportConfigPage());
|
||||
|
||||
@@ -63,7 +63,13 @@ ProjectPropertiesDialog::~ProjectPropertiesDialog ()
|
||||
*/
|
||||
void ProjectPropertiesDialog::exec()
|
||||
{
|
||||
m_properties_dialog->setWindowModality(Qt::WindowModal);
|
||||
// ApplicationModal (not WindowModal) so no other window — including other
|
||||
// MDI subwindows — can dispatch events while the dialog holds raw
|
||||
// QETProject* pointers in its config pages. WindowModal only blocks the
|
||||
// parent ProjectView; the rest of the MDI area stays live, which allowed
|
||||
// new_project / close_project to replace the project under the dialog
|
||||
// and cause a SIGSEGV. See issue #527.
|
||||
m_properties_dialog->setWindowModality(Qt::ApplicationModal);
|
||||
m_properties_dialog -> exec();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user