diff gtk/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 0a085f295e81
children 7c3eef54c98c
line wrap: on
line diff
--- a/gtk/dw.c	Mon Apr 22 08:41:47 2002 +0000
+++ b/gtk/dw.c	Thu Apr 25 02:10:49 2002 +0000
@@ -58,7 +58,7 @@
 GdkColor _foreground[DW_THREAD_LIMIT];
 GdkColor _background[DW_THREAD_LIMIT];
 
-GtkWidget *last_window = NULL;
+GtkWidget *last_window = NULL, *popup = NULL;
 
 int _dw_file_active = 0, _dw_ignore_click = 0, _dw_unselecting = 0;
 pthread_t _dw_thread = (pthread_t)-1;
@@ -266,7 +266,7 @@
 	{
 		int (*genericfunc)(HWND, void *) = work->func;
 
-		genericfunc(widget, work->data);
+		genericfunc(popup ? popup : widget, work->data);
 	}
 	return TRUE;
 }
@@ -1750,6 +1750,8 @@
 	if(!menu || !*menu)
 		return;
 
+	popup = parent;
+
 	DW_MUTEX_LOCK;
 	gtk_menu_popup(GTK_MENU((*menu)->menu), NULL, NULL, NULL, NULL, x, y);
 	free(*menu);