SF.net SVN: geany-plugins:[2142] trunk/geany-plugins/addons/src/ao_systray. c

eht16 at users.sourceforge.net eht16 at xxxxx
Sun Aug 14 13:59:09 UTC 2011


Revision: 2142
          http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=2142&view=rev
Author:   eht16
Date:     2011-08-14 13:59:08 +0000 (Sun, 14 Aug 2011)

Log Message:
-----------
Do not pass static strings to callback function

Modified Paths:
--------------
    trunk/geany-plugins/addons/src/ao_systray.c

Modified: trunk/geany-plugins/addons/src/ao_systray.c
===================================================================
--- trunk/geany-plugins/addons/src/ao_systray.c	2011-08-14 11:55:22 UTC (rev 2141)
+++ trunk/geany-plugins/addons/src/ao_systray.c	2011-08-14 13:59:08 UTC (rev 2142)
@@ -56,6 +56,13 @@
 	PROP_ENABLE_SYSTRAY
 };
 
+enum
+{
+	WIDGET_OPEN,
+	WIDGET_SAVE_ALL,
+	WIDGET_PREFERENCES
+};
+
 G_DEFINE_TYPE(AoSystray, ao_systray, G_TYPE_OBJECT);
 
 
@@ -126,7 +133,23 @@
 
 static void icon_popup_menu_cmd_clicked_cb(GtkMenuItem *item, gpointer data)
 {
-	g_signal_emit_by_name(ui_lookup_widget(geany->main_widgets->window, data), "activate");
+	GtkWidget *widget;
+	const gchar *widget_name;
+	
+	switch (GPOINTER_TO_INT(data))
+	{
+		case WIDGET_OPEN:
+			widget_name = "menu_open1";
+			break;
+		case WIDGET_SAVE_ALL:
+			widget_name = "menu_save_all1";
+			break;
+		case WIDGET_PREFERENCES:
+			widget_name = "preferences1";
+			break;
+	}
+	widget = ui_lookup_widget(geany->main_widgets->window, widget_name);
+	g_signal_emit_by_name(widget, "activate");
 }
 
 
@@ -179,13 +202,13 @@
 	gtk_widget_show(item);
 	gtk_container_add(GTK_CONTAINER(priv->popup_menu), item);
 	g_signal_connect(item, "activate",
-		G_CALLBACK(icon_popup_menu_cmd_clicked_cb), "menu_open1");
+		G_CALLBACK(icon_popup_menu_cmd_clicked_cb), GINT_TO_POINTER(WIDGET_OPEN));
 
 	item = gtk_image_menu_item_new_from_stock(GEANY_STOCK_SAVE_ALL, NULL);
 	gtk_widget_show(item);
 	gtk_container_add(GTK_CONTAINER(priv->popup_menu), item);
 	g_signal_connect(item, "activate",
-		G_CALLBACK(icon_popup_menu_cmd_clicked_cb), "menu_save_all1");
+		G_CALLBACK(icon_popup_menu_cmd_clicked_cb), GINT_TO_POINTER(WIDGET_SAVE_ALL));
 
 	item = gtk_separator_menu_item_new();
 	gtk_widget_show(item);
@@ -195,7 +218,7 @@
 	gtk_widget_show(item);
 	gtk_container_add(GTK_CONTAINER(priv->popup_menu), item);
 	g_signal_connect(item, "activate",
-		G_CALLBACK(icon_popup_menu_cmd_clicked_cb), "preferences1");
+		G_CALLBACK(icon_popup_menu_cmd_clicked_cb), GINT_TO_POINTER(WIDGET_PREFERENCES));
 
 	item = gtk_separator_menu_item_new();
 	gtk_widget_show(item);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Plugins-Commits mailing list