diff --git a/src/Mod/Sketcher/Gui/Command.cpp b/src/Mod/Sketcher/Gui/Command.cpp index 714c544b2640..d149254e98aa 100644 --- a/src/Mod/Sketcher/Gui/Command.cpp +++ b/src/Mod/Sketcher/Gui/Command.cpp @@ -775,21 +775,15 @@ void CmdSketcherMirrorSketch::activated(int iMsg) return; } - // Ask the user the type of mirroring - SketchMirrorDialog * smd = new SketchMirrorDialog(); - int refgeoid = -1; Sketcher::PointPos refposid = Sketcher::none; - - if (smd->exec() == QDialog::Accepted) { - refgeoid = smd->RefGeoid; - refposid = smd->RefPosid; - delete smd; - } - else { - delete smd; + // Ask the user the type of mirroring + SketchMirrorDialog smd; + if (smd.exec() != QDialog::Accepted) return; - } + + refgeoid = smd.RefGeoid; + refposid = smd.RefPosid; App::Document* doc = App::GetApplication().getActiveDocument(); openCommand("Create a mirrored sketch for each selected sketch"); diff --git a/src/Mod/Sketcher/Gui/CommandSketcherTools.cpp b/src/Mod/Sketcher/Gui/CommandSketcherTools.cpp index 9f16b20b601b..e3015332987a 100644 --- a/src/Mod/Sketcher/Gui/CommandSketcherTools.cpp +++ b/src/Mod/Sketcher/Gui/CommandSketcherTools.cpp @@ -1887,15 +1887,14 @@ void CmdSketcherRectangularArray::activated(int iMsg) } // Pop-up asking for values - SketchRectangularArrayDialog * slad = new SketchRectangularArrayDialog(); + SketchRectangularArrayDialog slad; - if (slad->exec() == QDialog::Accepted) { + if (slad.exec() == QDialog::Accepted) { ActivateAcceleratorHandler(getActiveGuiDocument(), - new DrawSketchHandlerRectangularArray(geoIdList, LastGeoId, LastPointPos, geoids, slad->Clone, - slad->Rows, slad->Cols, slad->ConstraintSeparation, - slad->EqualVerticalHorizontalSpacing)); + new DrawSketchHandlerRectangularArray(geoIdList, LastGeoId, LastPointPos, geoids, slad.Clone, + slad.Rows, slad.Cols, slad.ConstraintSeparation, + slad.EqualVerticalHorizontalSpacing)); } - delete slad; } bool CmdSketcherRectangularArray::isActive(void)