diff --git a/examples/basic/messagebox.c b/examples/basic/messagebox.c
index bb1c30d..e95f55a 100644
--- a/examples/basic/messagebox.c
+++ b/examples/basic/messagebox.c
@@ -13,6 +13,7 @@ void spawn(MwWidget handle, void* user, void* call) {
(void)call;
MwAddUserHandler(MwMessageBoxGetChild(mb, MwMB_BUTTONOK), MwNactivateHandler, ok, mb);
+ MwAddUserHandler(mb, MwNcloseHandler, ok, mb);
}
void spawn2(MwWidget handle, void* user, void* call) {
@@ -22,6 +23,7 @@ void spawn2(MwWidget handle, void* user, void* call) {
(void)call;
MwAddUserHandler(MwMessageBoxGetChild(mb, MwMB_BUTTONOK), MwNactivateHandler, ok, mb);
+ MwAddUserHandler(mb, MwNcloseHandler, ok, mb);
}
void spawn3(MwWidget handle, void* user, void* call) {
@@ -33,6 +35,7 @@ void spawn3(MwWidget handle, void* user, void* call) {
for(i = 0; i <= MwMB_ICONCLOCK; i++) {
MwWidget mb = MwMessageBox(user, "messagebox test", "title", i | MwMB_BUTTONOK);
MwAddUserHandler(MwMessageBoxGetChild(mb, MwMB_BUTTONOK), MwNactivateHandler, ok, mb);
+ MwAddUserHandler(mb, MwNcloseHandler, ok, mb);
}
}
diff --git a/milsko.xml b/milsko.xml
index d166ff2..5e93f30 100644
--- a/milsko.xml
+++ b/milsko.xml
@@ -782,6 +782,7 @@
+
diff --git a/src/dialog/messagebox.c b/src/dialog/messagebox.c
index 1d2b991..43e837a 100644
--- a/src/dialog/messagebox.c
+++ b/src/dialog/messagebox.c
@@ -18,12 +18,6 @@ static void spawn_button(MwWidget handle, int x, int y, int id, const char* text
handle->opaque = mb;
}
-static void messagebox_close(MwWidget handle, void* user, void* call) {
- (void)user;
- (void)call;
- MwMessageBoxDestroy(handle);
-}
-
MwWidget MwMessageBox(MwWidget handle, const char* text, const char* title, unsigned int flag) {
MwWidget window;
int w, h;
@@ -112,8 +106,6 @@ MwWidget MwMessageBox(MwWidget handle, const char* text, const char* title, unsi
MwLLMakePopup(window->lowlevel, handle == NULL ? NULL : handle->lowlevel);
MwLLEndStateChange(window->lowlevel);
- MwAddUserHandler(window, MwNcloseHandler, messagebox_close, NULL);
-
return window;
}