diff options
Diffstat (limited to 'src/inkscape-window.cpp')
| -rw-r--r-- | src/inkscape-window.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/inkscape-window.cpp b/src/inkscape-window.cpp index 15524d28a..9551897d7 100644 --- a/src/inkscape-window.cpp +++ b/src/inkscape-window.cpp @@ -81,7 +81,6 @@ InkscapeWindow::InkscapeWindow(SPDocument* document) gtk_box_pack_start(GTK_BOX(_mainbox->gobj()), GTK_WIDGET(_desktop_widget), true, true, 0); // Can't use Glib::wrap() // ================== Callbacks ================== - signal_key_press_event().connect( sigc::mem_fun(*this, &InkscapeWindow::key_press)); signal_delete_event().connect( sigc::mem_fun(*_desktop, &SPDesktop::onDeleteUI)); signal_window_state_event().connect(sigc::mem_fun(*_desktop, &SPDesktop::onWindowStateEvent)); signal_focus_in_event().connect( sigc::mem_fun(*_desktop_widget, &SPDesktopWidget::onFocusInEvent)); @@ -114,8 +113,13 @@ InkscapeWindow::change_document(SPDocument* document) // We don't override on_key_press() as it steals key strokes from text tool. bool -InkscapeWindow::key_press(GdkEventKey* event) +InkscapeWindow::on_key_press_event(GdkEventKey* event) { + bool done = Gtk::Window::on_key_press_event(event); + if (done) { + return true; + } + unsigned shortcut = sp_shortcut_get_for_event(event); return sp_shortcut_invoke (shortcut, _desktop); } |
