Changeset - r9167:f40fe41240d1
[Not reviewed]
master
0 1 0
rubidium - 16 years ago 2008-05-10 13:53:11
rubidium@openttd.org
(svn r13030) -Codechange: do use MallocT instead of ReallocT when 100% sure that the pointer you are allocating to is NULL. Patch by Alberth.
1 file changed with 11 insertions and 3 deletions:
0 comments (0 inline, 0 general)
src/window.cpp
Show inline comments
 
@@ -849,9 +849,17 @@ bool IsWindowOfPrototype(const Window *w
 
	return (w->original_widget == widget);
 
}
 

	
 
/** Copies 'widget' to 'w->widget' to allow for resizable windows
 
/**
 
 * Assign widgets to a new window by initialising its widget pointers, and by
 
 * copying the widget array \a widget to \c w->widget to allow for resizable
 
 * windows.
 
 * @param w Window on which to attach the widget array
 
 * @param widget pointer of widget array to fill the window with */
 
 * @param widget pointer of widget array to fill the window with
 
 *
 
 * @post \c w->widget points to allocated memory and contains the copied widget array except for the terminating widget,
 
 *       \c w->original_widget points to the original widgets,
 
 *       \c w->widget_count contains number of widgets in the allocated memory.
 
 */
 
void AssignWidgetToWindow(Window *w, const Widget *widget)
 
{
 
	w->original_widget = widget;
 
@@ -861,7 +869,7 @@ void AssignWidgetToWindow(Window *w, con
 

	
 
		for (const Widget *wi = widget; wi->type != WWT_LAST; wi++) index++;
 

	
 
		w->widget = ReallocT(w->widget, index);
 
		w->widget = MallocT<Widget>(index);
 
		memcpy(w->widget, widget, sizeof(*w->widget) * index);
 
		w->widget_count = index - 1;
 
	} else {
0 comments (0 inline, 0 general)