Fix some uninitialised variables in the port matrix code.
authorCarl Hetherington <carl@carlh.net>
Sat, 14 Nov 2009 15:12:13 +0000 (15:12 +0000)
committerCarl Hetherington <carl@carlh.net>
Sat, 14 Nov 2009 15:12:13 +0000 (15:12 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@6085 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/port_matrix_body.cc
gtk2_ardour/port_matrix_body.h

index b3398d850f9a8add8bfca8c786661efe680ed9ae..6fcc773253ae122c17c39641f881465e7efb2261 100644 (file)
@@ -30,9 +30,12 @@ using namespace std;
 
 PortMatrixBody::PortMatrixBody (PortMatrix* p)
        : _matrix (p),
+         _alloc_width (0),
+         _alloc_height (0),
          _xoffset (0),
          _yoffset (0),
-         _mouse_over_grid (false)
+         _mouse_over_grid (false),
+         _ignore_component_size_changed (false)
 {
        _column_labels = new PortMatrixColumnLabels (p, this);
        _row_labels = new PortMatrixRowLabels (p, this);
@@ -265,7 +268,10 @@ PortMatrixBody::setup ()
        _grid->setup ();
 
        set_mouseover (PortMatrixNode ());
+       
+       _ignore_component_size_changed = true;
        compute_rectangles ();
+       _ignore_component_size_changed = false;
 }
 
 uint32_t
@@ -470,6 +476,10 @@ PortMatrixBody::set_cairo_clip (cairo_t* cr, Gdk::Rectangle const & r) const
 void
 PortMatrixBody::component_size_changed ()
 {
+       if (_ignore_component_size_changed) {
+               return;
+       }
+       
        compute_rectangles ();
        _matrix->setup_scrollbars ();
 }
index 9195608d28de8f98399e0510fd79e1a11f1cc2bf..341957a38a66e80a6e950a558aa0882cc7e975c3 100644 (file)
@@ -96,6 +96,7 @@ private:
 
        PortMatrixNode _mouseover;
        bool _mouse_over_grid;
+       bool _ignore_component_size_changed;
 
        std::list<sigc::connection> _bundle_connections;
 };