summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/editor.h1
-rw-r--r--gtk2_ardour/editor_mixer.cc12
2 files changed, 12 insertions, 1 deletions
diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h
index a7de0498a0..dfbb4535e2 100644
--- a/gtk2_ardour/editor.h
+++ b/gtk2_ardour/editor.h
@@ -322,6 +322,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void create_editor_mixer ();
void show_editor_list (bool yn);
void set_selected_mixer_strip (TimeAxisView&);
+ void mixer_strip_width_changed ();
void hide_track_in_display (TimeAxisView* tv, bool temporary = false);
/* nudge is initiated by transport controls owned by ARDOUR_UI */
diff --git a/gtk2_ardour/editor_mixer.cc b/gtk2_ardour/editor_mixer.cc
index 5f321c7931..ec71892235 100644
--- a/gtk2_ardour/editor_mixer.cc
+++ b/gtk2_ardour/editor_mixer.cc
@@ -156,6 +156,7 @@ Editor::create_editor_mixer ()
_session,
false);
current_mixer_strip->Hiding.connect (sigc::mem_fun(*this, &Editor::current_mixer_strip_hidden));
+ current_mixer_strip->WidthChanged.connect (sigc::mem_fun (*this, &Editor::mixer_strip_width_changed));
#ifdef GTKOSX
current_mixer_strip->WidthChanged.connect (sigc::mem_fun(*this, &Editor::ensure_all_elements_drawn));
@@ -237,7 +238,16 @@ void
Editor::maybe_add_mixer_strip_width (XMLNode& node)
{
if (current_mixer_strip) {
- node.add_property ("mixer-width", enum_2_string (current_mixer_strip->get_width_enum()));
+ node.add_property ("mixer-width", enum_2_string (editor_mixer_strip_width));
}
}
+void
+Editor::mixer_strip_width_changed ()
+{
+#ifdef GTKOSX
+ ensure_all_elements_drawn ();
+#endif
+
+ editor_mixer_strip_width = current_mixer_strip->get_width_enum ();
+}