diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2015-08-04 14:30:41 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-02-22 15:31:23 -0500 |
commit | 00933950b7f21807fc4edf615876060f85882474 (patch) | |
tree | 33544e3960d4b3f6bb05915bac17516d76f9c802 /libs/gtkmm2ext/window_proxy.cc | |
parent | 2c6799f247afa3b77f0e3d878666409fd7f728bc (diff) |
small rationalization of naming and code for managing plugin GUI visibility
Diffstat (limited to 'libs/gtkmm2ext/window_proxy.cc')
-rw-r--r-- | libs/gtkmm2ext/window_proxy.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/libs/gtkmm2ext/window_proxy.cc b/libs/gtkmm2ext/window_proxy.cc index 6f20eaa8d5..d7670cb89e 100644 --- a/libs/gtkmm2ext/window_proxy.cc +++ b/libs/gtkmm2ext/window_proxy.cc @@ -22,6 +22,7 @@ #include "pbd/convert.h" #include "pbd/xml++.h" +#include "pbd/stacktrace.h" #include "gtkmm2ext/window_proxy.h" #include "gtkmm2ext/visibility_tracker.h" @@ -139,6 +140,7 @@ WindowProxy::toggle() { if (!_window) { (void) get (true); + setup (); assert (_window); /* XXX this is a hack - the window object should really ensure its components are all visible. sigh. @@ -146,12 +148,13 @@ WindowProxy::toggle() _window->show_all(); /* we'd like to just call this and nothing else */ _window->present (); - } else { if (_window->is_mapped()) { save_pos_and_size(); } + vistracker->cycle_visibility (); + if (_window->is_mapped()) { if (_width != -1 && _height != -1) { _window->set_default_size (_width, _height); @@ -279,7 +282,12 @@ WindowProxy::hide () bool WindowProxy::delete_event_handler (GdkEventAny* /*ev*/) { - hide(); + if (_action) { + _action->activate (); + } else { + hide(); + } + return true; } |