diff --git a/libs/canvas/rectangle.cc b/libs/canvas/rectangle.cc index 29333f6373..7f12052c4e 100644 --- a/libs/canvas/rectangle.cc +++ b/libs/canvas/rectangle.cc @@ -64,7 +64,7 @@ Rectangle::render (Rect const & area, Cairo::RefPtr context) con we should take that into account when rendering. */ - Rect self (item_to_window (_rect.translate (_position), false)); + Rect self (item_to_window (_rect, false)); const Rect draw = self.intersection (area); if (!draw) { @@ -180,8 +180,6 @@ Rectangle::set (Rect const & r) as cheap to do it when asked. */ - cerr << name << " setting self rect\n"; - if (r != _rect) { begin_change (); @@ -281,5 +279,11 @@ Rectangle::vertical_fraction (double y) const void Rectangle::size_allocate (Rect const & r) { - set (r); + /* leave position alone */ + + _allocation = r; + + if (_layout_sensitive) { + set (r); + } }