diff -r 1d38c52eb89e src/widget.cpp --- a/src/widget.cpp Sun Apr 05 17:48:08 2009 +0000 +++ b/src/widget.cpp Sun Apr 05 22:34:41 2009 +0200 @@ -1365,17 +1365,26 @@ } bool same = true; + bool empty = false; + bool same_empty = true; for(int idx = 0; ; idx++) { const Widget *ow = orig + idx; const Widget *gw = gen + idx; + empty = false; CHECK(type, "%d") CHECK(display_flags, "0x%x") CHECK(colour, "%d") - CHECK_COORD(left) - CHECK_COORD(right) - CHECK_COORD(top) - CHECK_COORD(bottom) + if (0 == ow->left && 0 == ow->right && 0 == ow->top && 0 == ow->bottom && ow->type != WWT_LAST) { //original widget is empty + empty = true; + same_empty = gw->left == gw->right + 1 && gw->display_flags == (gw->display_flags & RESIZE_NONE); // check if generated widget is also empty + } + if (!empty || (empty && !same_empty)) { + CHECK_COORD(left) + CHECK_COORD(right) + CHECK_COORD(top) + CHECK_COORD(bottom) + } CHECK(data, "%u") CHECK(tooltips, "%u")