X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Flayout.cpp;h=bee972d903ab242415f992767247e425e9109922;hb=707b59d45ae50b69c94918f8f74313283b304597;hp=5ebb55ccf4f8822de2423427d4c795c8d906ecf8;hpb=1bc84ded58379ee24315db8784d9fb710a02e24e;p=libs%2Fgltk.git diff --git a/source/layout.cpp b/source/layout.cpp index 5ebb55c..bee972d 100644 --- a/source/layout.cpp +++ b/source/layout.cpp @@ -470,16 +470,13 @@ Layout::Slot::Slot(Layout &l, Widget &w): void Layout::Slot::autosize_changed() { - widget.autosize(); - autosize_geom = widget.get_geometry(); + widget.autosize(autosize_geom); if(!widget.is_visible() && !ghost) return; - // If the widget fits in the area it had, just leave it there. - if(autosize_geom.w<=geom.w && autosize_geom.h<=geom.h) - widget.set_geometry(geom); - else + // Only trigger an update if the widget won't fit in its current area. + if(autosize_geom.w>geom.w || autosize_geom.h>geom.h) { layout.container->signal_autosize_changed.emit(); layout.update();