# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1065607269 0 # Node ID ecf1df2edcee4d29ea99726c55cdd5f2a6913f1c # Parent c3dfa117b0809f1c460be6e6dceac7b1177c1e01 Cleanup code needs to delayed by posting to the window procedure so that the handlers don't get removed before receiving the WM_COMMAND message. diff -r c3dfa117b080 -r ecf1df2edcee win/dw.c --- a/win/dw.c Wed Oct 08 09:36:10 2003 +0000 +++ b/win/dw.c Wed Oct 08 10:01:09 2003 +0000 @@ -1815,6 +1815,9 @@ if(windowfunc) windowfunc((void *)mp2); break; + case WM_USER+5: + dw_signal_disconnect_by_name((HWND)mp1, DW_SIGNAL_CLICKED); + break; case WM_NOTIFY: { NMHDR FAR *tem=(NMHDR FAR *)mp2; @@ -4032,6 +4035,8 @@ popup = parent; TrackPopupMenu(mymenu, 0, x, y, 0, parent, NULL); + /* TODO: This needs to call this on all submenus */ + PostMessage(DW_HWND_OBJECT, WM_USER+5, (LPARAM)mymenu, 0); DestroyMenu(mymenu); } }