summaryrefslogtreecommitdiff
path: root/new/button_windows.c
diff options
context:
space:
mode:
Diffstat (limited to 'new/button_windows.c')
-rw-r--r--new/button_windows.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/new/button_windows.c b/new/button_windows.c
index 39fb8e0..0c9dafd 100644
--- a/new/button_windows.c
+++ b/new/button_windows.c
@@ -23,6 +23,13 @@ static BOOL onWM_NOTIFY(uiControl *c, WPARAM wParam, LPARAM lParam, void *data,
return FALSE;
}
+static void onWM_DESTROY(uiControl *c, void *data)
+{
+ struct button *b = (struct button *) data;
+
+ uiFree(b);
+}
+
// from http://msdn.microsoft.com/en-us/library/windows/desktop/dn742486.aspx#sizingandspacing
#define buttonHeight 14
@@ -70,7 +77,8 @@ uiControl *uiNewButton(const char *text)
p.hInstance = hInstance;
p.onWM_COMMAND = onWM_COMMAND;
p.onWM_NOTIFY = onWM_NOTIFY;
- p.onCommandNotifyData = b;
+ p.onWM_DESTROY = onWM_DESTROY;
+ p.onCommandNotifyDestroyData = b;
p.preferredSize = preferredSize;
p.data = b;
b->c = uiWindowsNewControl(&p);