(svn r13133) -Codechange: Add a base class (descending from Window) for all new windows that are going to require a ResetObjectToPlace to be performed on closing.

This will allow to free the said window only once, and not twice otherwise
This commit is contained in:
belugas
2008-05-17 03:29:16 +00:00
parent 5199f5ff47
commit 17bd325574
2 changed files with 22 additions and 1 deletions

View File

@@ -2350,3 +2350,13 @@ void RelocateAllWindows(int neww, int newh)
w->top = top;
}
}
/** Destructor of the base class PickerWindowBase
* Main utility is to stop the base Window destructor from triggering
* a free while the child will already be free, in this case by the ResetObjectToPlace().
*/
PickerWindowBase::~PickerWindowBase()
{
this->window_class = WC_INVALID; // stop the ancestor from freeing the already (to be) child
ResetObjectToPlace();
}