From df4c22e3583f16a2715960e52b2fd7d262b7f86e Mon Sep 17 00:00:00 2001 From: Darkvater Date: Sat, 28 May 2005 17:01:26 +0000 Subject: [PATCH] (svn r2373) - CodeChange: don't redraw the window upon a user-based dirty request if the requested widget is invisible or otherwise not visible (type WWT_EMPTY) --- window.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/window.c b/window.c index 0212694551..eaaeafab1d 100644 --- a/window.c +++ b/window.c @@ -1541,13 +1541,11 @@ void InvalidateWindow(byte cls, WindowNumber number) void InvalidateWidget(Window *w, byte widget_index) { const Widget *wi = &w->widget[widget_index]; -// if (wi->left != -2) { - SetDirtyBlocks( - w->left + wi->left, - w->top + wi->top, - w->left + wi->right + 1, - w->top + wi->bottom + 1); -// } + + /* Don't redraw the window if the widget is invisible or of no-type */ + if (wi->type == WWT_EMPTY || HASBIT(w->hidden_state, widget_index)) return; + + SetDirtyBlocks(w->left + wi->left, w->top + wi->top, w->left + wi->right + 1, w->top + wi->bottom + 1); } void InvalidateWindowWidget(byte cls, WindowNumber number, byte widget_index)