X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Fwidget.cc;h=30d147c8387953b61f55cbc095bac4d442f22e79;hb=361303715b6eb54d77ed8e1c9ad8f35e44e4ede1;hp=eccbb5212392079238fb5894610ec5fa4a8a6d2a;hpb=43f958996b3e5a6af08c1fd7aded883ba5ef5355;p=chaz%2Fopenbox diff --git a/otk/widget.cc b/otk/widget.cc index eccbb521..30d147c8 100644 --- a/otk/widget.cc +++ b/otk/widget.cc @@ -89,7 +89,7 @@ void Widget::show(bool children) _visible = true; if (_parent) _parent->calcDefaultSizes(); else { - resize(_min_size); + resize(_area.size()); } XMapWindow(**display, _window); update(); @@ -230,12 +230,14 @@ void Widget::calcDefaultSizes() } } if (_direction == Horizontal) { - _min_size = otk::Size(min_sum, min_biggest + (_bevel + _borderwidth) * 2); + _min_size = otk::Size(min_sum + (_bevel + _borderwidth) * 2, + min_biggest + (_bevel + _borderwidth) * 2); _max_size = otk::Size((fullmax ? INT_MAX : max_sum + (_bevel + _borderwidth) * 2), max_biggest); } else { - _min_size = otk::Size(min_biggest, min_sum + (_bevel + _borderwidth) * 2); + _min_size = otk::Size(min_biggest + (_bevel + _borderwidth) * 2, + min_sum + (_bevel + _borderwidth) * 2); _max_size = otk::Size(max_biggest, (fullmax ? INT_MAX : max_sum + (_bevel + _borderwidth) * 2)); } @@ -508,6 +510,7 @@ void Widget::render() // delete the old surface *after* its pixmap isn't in use anymore if (_surface) delete _surface; + s->freePixelData(); // done rendering with this surface _surface = s; _dirty = false;