[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

when and where to destroy "popup menu"?



Hello.
I have created a popup menu in my function(list below). But I have a
question "when and where to destroy it?".
 I tried connect its selection-done handler to gtk_widget_destroy.But it
seems nothing happened. I run the program and monitor it through
"system monitor". The program continuing eat memory when I right click
the treeview to popup menu. 

Thanks for any help.

Best regards.


[CODE]
gboolean jmView_OnButtonPressed(GtkWidget *tv,GdkEventButton
*event,gpointer userdata){
    if(GDK_BUTTON_PRESS == event->type && event->button == 1){
	g_print("left click on treeview\n");
    }else if(GDK_BUTTON_PRESS == event->type && 3 == event->button){
	GtkTreeSelection *treeSel = NULL;
	GtkTreePath *treePath = NULL;
 	GladeXML *xml = NULL;
	GtkWidget *popupMenu = NULL,*jmPopupMenu_open=NULL,*jmPopupMenu_add =
NULL;
	treeSel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tv));
	if(gtk_tree_selection_count_selected_rows(treeSel) < 1){
	    return TRUE;
	}
	if(FALSE ==
gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(tv),(gint)event->x,(gint)event->y,&treePath,NULL,NULL,NULL)){
	    return TRUE;
	}
	//here create the menu
	popupMenu = libcore_get_widget(&xml,"menuCategory");
	jmPopupMenu_open = libcore_get_widget(&xml,"menuitemCategoryOpen");
	jmPopupMenu_add = libcore_get_widget(&xml,"menuitemCategoryAdd");

g_signal_connect(GTK_MENU_ITEM(jmPopupMenu_open),"activate",(GCallback)jmPopupMenu_open_onActivate,treePath);

g_signal_connect(GTK_MENU_ITEM(jmPopupMenu_add),"activate",(GCallback)jmPopupMenu_add_onActivate,treePath);

g_signal_connect(GTK_MENU_SHELL(popupMenu),"selection-done",gtk_widget_destroy,popupMenu);

gtk_menu_popup(GTK_MENU(popupMenu),NULL,NULL,NULL,NULL,event->button,event->time);
	g_print("right click on treeview\n");
//	gtk_widget_destroy(popupMenu);
	return TRUE;
	
    }
    return FALSE;
}

[/CODE]




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]