From c02e39945e2533c7f51f650bcaa00fa11af6a784 Mon Sep 17 00:00:00 2001 From: rubidium Date: Mon, 4 Dec 2006 13:36:27 +0000 Subject: (svn r7352) -Codechange: add widget_count parameter to the window. -Codechange: check whether widget indices are valid for all the (Set|Is)WindowWidget(Disabled|Lowered|Hidden) and related functions. --- window.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'window.c') diff --git a/window.c b/window.c index 58de0affa..2b9d10910 100644 --- a/window.c +++ b/window.c @@ -316,6 +316,7 @@ void DeleteWindow(Window *w) SetWindowDirty(w); free(w->widget); w->widget = NULL; + w->widget_count = 0; /* Find the window in the z-array, and effectively remove it * by moving all windows after it one to the left */ @@ -519,8 +520,10 @@ void AssignWidgetToWindow(Window *w, const Widget *widget) w->widget = realloc(w->widget, sizeof(*w->widget) * index); memcpy(w->widget, widget, sizeof(*w->widget) * index); + w->widget_count = index - 1; } else { w->widget = NULL; + w->widget_count = 0; } } @@ -877,6 +880,7 @@ void UnInitWindowSystem(void) FOR_ALL_WINDOWS(wz) { free((*wz)->widget); (*wz)->widget = NULL; + (*wz)->widget_count = 0; } } -- cgit v1.2.3-70-g09d2