diff --git a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp index 976d91c6f5..da21425bdb 100644 --- a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp +++ b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp @@ -374,6 +374,12 @@ void ViewProviderSketch::activateHandler(DrawSketchHandler *newHandler) Mode = STATUS_SKETCH_UseHandler; edit->sketchHandler->sketchgui = this; edit->sketchHandler->activated(this); + + // make sure receiver has focus so immediately pressing Escape will be handled by + // ViewProviderSketch::keyPressed() and dismiss the active handler, and not the entire + // sketcher editor + Gui::MDIView *mdi = Gui::Application::Instance->activeDocument()->getActiveView(); + mdi->setFocus(); } void ViewProviderSketch::deactivateHandler()