diff win/dw.c @ 93:98cce029a611

Changed handling of menu item click events.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Thu, 25 Apr 2002 02:10:49 +0000
parents eeb98f881663
children 636c37ca7238
line wrap: on
line diff
--- a/win/dw.c	Mon Apr 22 08:41:47 2002 +0000
+++ b/win/dw.c	Thu Apr 25 02:10:49 2002 +0000
@@ -22,7 +22,7 @@
 /* make sure you always match the calling convention! */
 int (*filterfunc)(HWND, UINT, WPARAM, LPARAM) = 0L;
 
-HWND hwndBubble = (HWND)NULL, hwndBubbleLast, DW_HWND_OBJECT = (HWND)NULL;
+HWND popup = (HWND)NULL, hwndBubble = (HWND)NULL, hwndBubbleLast, DW_HWND_OBJECT = (HWND)NULL;
 
 HINSTANCE DWInstance = NULL;
 
@@ -1499,7 +1499,7 @@
 						} /* Make sure it's the right window, and the right ID */
 						else if(tmp->window < (HWND)65536 && command == tmp->window)
 						{
-							result = clickfunc(tmp->window, tmp->data);
+							result = clickfunc(popup ? popup : tmp->window, tmp->data);
 							tmp = NULL;
 						}
 					}
@@ -3622,6 +3622,7 @@
 {
 	if(menu && *menu)
 	{
+		popup = parent;
 		TrackPopupMenu((*menu)->menu, 0, x, y, 0, parent, NULL);
 		free(*menu);
 		*menu = NULL;