From e4dbc896dfde6782ecebd10e002e632db2772fde Mon Sep 17 00:00:00 2001 From: Markus Lampert Date: Sun, 9 Sep 2018 19:54:24 -0700 Subject: [PATCH] Set focus to sketcher window when a new handler is activated to ensure proper handling of keys, espcially Escape. --- src/Mod/Sketcher/Gui/ViewProviderSketch.cpp | 6 ++++++ 1 file changed, 6 insertions(+) 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()