Sketcher: fix intermittent crash on sketch exit
This commit is contained in:
committed by
Chris Hennes
parent
9eed3a8d77
commit
d3d6459484
@@ -3572,9 +3572,9 @@ bool ViewProviderSketch::setEdit(int ModNum)
|
||||
viewProviderParameters.recalculateInitialSolutionWhileDragging);
|
||||
|
||||
// intercept del key press from main app
|
||||
listener = new ShortcutListener(this);
|
||||
listener = std::make_unique<ShortcutListener>(this);
|
||||
|
||||
Gui::getMainWindow()->installEventFilter(listener);
|
||||
Gui::getMainWindow()->installEventFilter(listener.get());
|
||||
|
||||
Workbench::enterEditMode();
|
||||
|
||||
@@ -3729,8 +3729,8 @@ void ViewProviderSketch::unsetEdit(int ModNum)
|
||||
Workbench::leaveEditMode();
|
||||
|
||||
if (listener) {
|
||||
Gui::getMainWindow()->removeEventFilter(listener);
|
||||
delete listener;
|
||||
Gui::getMainWindow()->removeEventFilter(listener.get());
|
||||
listener.reset();
|
||||
}
|
||||
|
||||
if (isInEditMode()) {
|
||||
|
||||
@@ -993,7 +993,7 @@ private:
|
||||
Gui::CoinPtr<SoSketchFaces> pcSketchFaces;
|
||||
Gui::CoinPtr<SoToggleSwitch> pcSketchFacesToggle;
|
||||
|
||||
ShortcutListener* listener;
|
||||
std::unique_ptr<ShortcutListener> listener;
|
||||
|
||||
std::unique_ptr<EditModeCoinManager> editCoinManager;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user