kludgy hack/fix for plugin windows reappearing at (0,0) after re-activating ardour...
authorPaul Davis <paul@linuxaudiosystems.com>
Wed, 6 Jun 2012 01:43:35 +0000 (01:43 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Wed, 6 Jun 2012 01:43:35 +0000 (01:43 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@12573 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/plugin_ui.cc
gtk2_ardour/plugin_ui.h

index 4c17923abed47f36349d41cd998d19f538cd1db6..455cea1364343bcdcb61c7cab46c443b778edd86 100644 (file)
@@ -89,6 +89,11 @@ PluginUIWindow::PluginUIWindow (
        : parent (win)
        , was_visible (false)
        , _keyboard_focused (false)
+#ifdef AUDIOUNIT_SUPPORT
+        , pre_deactivate_x (-1)
+        , pre_deactivate_y (-1)
+#endif
+
 {
        bool have_gui = false;
 
@@ -341,11 +346,15 @@ PluginUIWindow::app_activated (bool)
                if (yn) {
                        if (was_visible) {
                                _pluginui->activate ();
+                                if (pre_deactivate_x >= 0) {
+                                        move (pre_deactivate_x, pre_deactivate_y);
+                                }
                                present ();
                                was_visible = true;
                        }
                } else {
                        was_visible = is_visible();
+                        get_position (pre_deactivate_x, pre_deactivate_y);
                        hide ();
                        _pluginui->deactivate ();
                }
@@ -783,3 +792,4 @@ PlugUIBase::preset_added_or_removed ()
        update_preset_list ();
        update_preset ();
 }
+
index a65fd1a2238442fb0f84b8197891669780f0698b..6b886cf268a259778f420bba891fb627311da3a2 100644 (file)
@@ -312,6 +312,11 @@ class PluginUIWindow : public Gtk::Window
        Gtk::VBox vbox;
        bool was_visible;
        bool _keyboard_focused;
+#ifdef AUDIOUNIT_SUPPORT
+        int pre_deactivate_x;
+        int pre_deactivate_y;
+#endif
+
        void keyboard_focused (bool yn);
 
        void app_activated (bool);