From 43c17efe5e7619b8d150e7dceceba232d3911890 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Wed, 5 Feb 2020 15:36:01 +0100 Subject: [PATCH] CMakePM: Fix possible crash on exit The pathchooser might get deleted after the inner line edit had been destroyed already (as its ownership was transferred to the layout of the CMake build settings widget. Partially reverts 314ceb13bc2a6d. Change-Id: I3ff990af55ed08978d9f0c079c4b98a019a6ec87 Reviewed-by: Christian Kandeler --- src/plugins/cmakeprojectmanager/cmakebuildsettingswidget.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsettingswidget.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsettingswidget.cpp index 9593eae3be3..79b80de7d13 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsettingswidget.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildsettingswidget.cpp @@ -107,7 +107,7 @@ CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeBuildConfiguration *bc) auto project = bc->project(); - auto buildDirChooser = new Utils::PathChooser(this); + auto buildDirChooser = new Utils::PathChooser; buildDirChooser->setBaseDirectory(project->projectDirectory()); buildDirChooser->setFileName(bc->buildDirectory()); connect(buildDirChooser, &Utils::PathChooser::rawPathChanged, this, @@ -118,8 +118,7 @@ CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeBuildConfiguration *bc) int row = 0; mainLayout->addWidget(new QLabel(tr("Build directory:")), row, 0); - mainLayout->addWidget(buildDirChooser->lineEdit(), row, 1); - mainLayout->addWidget(buildDirChooser->buttonAtIndex(0), row, 2); + mainLayout->addWidget(buildDirChooser, row, 1, 1, 2); ++row; auto qmlDebugAspect = bc->aspect();