diff options
Diffstat (limited to 'gtk2_ardour/port_matrix.cc')
-rw-r--r-- | gtk2_ardour/port_matrix.cc | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/gtk2_ardour/port_matrix.cc b/gtk2_ardour/port_matrix.cc index 820920ed14..a35ec2f046 100644 --- a/gtk2_ardour/port_matrix.cc +++ b/gtk2_ardour/port_matrix.cc @@ -51,7 +51,7 @@ PortMatrix::PortMatrix (ARDOUR::Session& session, ARDOUR::DataType type) _min_height_divisor (1), _show_only_bundles (false), _inhibit_toggle_show_only_bundles (false), - _first_setup (true) + _realized (false) { _body = new PortMatrixBody (this); @@ -115,7 +115,7 @@ PortMatrix::routes_changed () void PortMatrix::setup () { - if (_first_setup) { + if (!_realized) { select_arrangement (); } @@ -123,8 +123,6 @@ PortMatrix::setup () setup_scrollbars (); queue_draw (); - _first_setup = false; - show_all (); } @@ -461,3 +459,17 @@ PortMatrix::max_size () const return m; } + +void +PortMatrix::on_realize () +{ + Widget::on_realize (); + _realized = true; +} + +void +PortMatrix::on_unrealize () +{ + Widget::on_unrealize (); + _realized = false; +} |