summaryrefslogtreecommitdiff
path: root/dw
diff options
context:
space:
mode:
authorJohannes Hofmann <Johannes.Hofmann@gmx.de>2011-09-06 21:59:28 +0200
committerJohannes Hofmann <Johannes.Hofmann@gmx.de>2011-09-06 21:59:28 +0200
commit6e539b69c6663c3bb99396716bc5e8e3d67f42cb (patch)
treedb5b5ad9088b5a7ade21aba3d5141cb7e8edc842 /dw
parent4472e0fdac7e83bd7db6e891d27c7f5d9309d390 (diff)
avoid redraw loops with ComplexComplexButtonResource
ComplexButtonResource was creating endless redraws. Testcase: <table> <tr> <td> <div> <button></button> </div> <div> words words words words words words words words words words words words words words words words words words words words words words words words words words words words words words words words words words words words words words words words words words words words <span style="white-space:nowrap">And words in a span</span> <button></button> </div> </td> </table> This also fixes redraw loops with <button> in combination with limit_text_width=YES, so we no longer need to disable this option. Reported and testcase by: corvid <corvid@lavabit.com>
Diffstat (limited to 'dw')
-rw-r--r--dw/ui.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/dw/ui.cc b/dw/ui.cc
index 5d5d2bf6..35d63f6c 100644
--- a/dw/ui.cc
+++ b/dw/ui.cc
@@ -266,9 +266,9 @@ void ComplexButtonResource::LayoutReceiver::canvasSizeChanged (int width,
int descent)
{
/**
- * \todo The argument to queueResize is not always true. (But this works.)
+ * \todo Verify that this is correct.
*/
- resource->queueResize (true);
+ resource->queueResize (resource->childWidget->extremesChanged ());
}
ComplexButtonResource::ComplexButtonResource ()