From bf1386a3120822c191960fca1d0b7c24023b19ef Mon Sep 17 00:00:00 2001 From: Jerome St-Louis Date: Sat, 7 Jun 2014 03:41:14 -0400 Subject: [PATCH] ecere/gui/FormDesigner: Fixed leaking ToolTips - Calling CommonControls' OnDestroy for controls in the form designer --- ecere/src/gui/FormDesigner.ec | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ecere/src/gui/FormDesigner.ec b/ecere/src/gui/FormDesigner.ec index dd73a6f..67734c2 100644 --- a/ecere/src/gui/FormDesigner.ec +++ b/ecere/src/gui/FormDesigner.ec @@ -802,6 +802,14 @@ static Window FindWindow(Window form, Window window, Window moved, int x, int y, static void OnDestroy(Window window) { FormDesigner designer = activeDesigner ? (FormDesigner)activeDesigner.classDesigner : null; + Class c = window._class; + if(c.base.type != systemClass && c.base.base.type != systemClass) + { + while(c.base.base.base.type != systemClass) + c = c.base; + if(!strcmp(c.fullName, "ecere::gui::CommonControl")) + CommonControl::OnDestroy((CommonControl)window); + } if(designer && designer.form) activeDesigner.DeleteObject(window.object); -- 1.8.3.1