diff --git a/libs/gtkmm2ext/gtkmm2ext/keyboard.h b/libs/gtkmm2ext/gtkmm2ext/keyboard.h index 21d6bd2ef8..89679b2c6f 100644 --- a/libs/gtkmm2ext/gtkmm2ext/keyboard.h +++ b/libs/gtkmm2ext/gtkmm2ext/keyboard.h @@ -188,6 +188,7 @@ class LIBGTKMM2EXT_API Keyboard : public sigc::trackable, PBD::Stateful sigc::signal0 ZoomVerticalModifierReleased; static sigc::signal0 RelevantModifierKeysChanged; + static sigc::signal1 HideMightMeanQuit; protected: static Keyboard* _the_keyboard; diff --git a/libs/gtkmm2ext/keyboard.cc b/libs/gtkmm2ext/keyboard.cc index 1b51b6630a..cb395f62ef 100644 --- a/libs/gtkmm2ext/keyboard.cc +++ b/libs/gtkmm2ext/keyboard.cc @@ -132,6 +132,7 @@ Gtk::Window* Keyboard::pre_dialog_active_window = 0; /* set this to initially contain the modifiers we care about, then track changes in ::set_edit_modifier() etc. */ GdkModifierType Keyboard::RelevantModifierKeyMask; sigc::signal0 Keyboard::RelevantModifierKeysChanged; +sigc::signal1 Keyboard::HideMightMeanQuit; void Keyboard::magic_widget_grab_focus () @@ -342,6 +343,9 @@ void Keyboard::close_current_dialog () { if (current_window) { + + HideMightMeanQuit (current_window); /* EMIT SIGNAL */ + current_window->hide (); current_window = 0;