diff -ruNp nemo-1.1.2+nadia-orig/src/nemo-view.c nemo-1.1.2+nadia/src/nemo-view.c --- nemo-1.1.2+nadia-orig/src/nemo-view.c 2012-11-14 15:02:05.000000000 +0330 +++ nemo-1.1.2+nadia/src/nemo-view.c 2012-12-05 23:41:26.495653134 +0330 @@ -4423,9 +4423,7 @@ add_submenu (GtkUIManager *ui_manager, NULL, NULL); if (pixbuf != NULL) { - g_object_set_data_full (G_OBJECT (action), "menu-icon", - g_object_ref (pixbuf), - g_object_unref); + gtk_action_set_gicon (action, G_ICON (pixbuf)); } g_object_set (action, "hide-if-empty", FALSE, NULL); @@ -4450,6 +4448,24 @@ add_submenu (GtkUIManager *ui_manager, } static void +menu_item_show_image (GtkUIManager *ui_manager, + const char *parent_path, + const char *action_name) +{ + char *path; + GtkWidget *menuitem; + + path = g_strdup_printf ("%s/%s", parent_path, action_name); + menuitem = gtk_ui_manager_get_widget (ui_manager, + path); + if (menuitem != NULL) { + gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (menuitem), + TRUE); + } + g_free (path); +} + +static void add_application_to_open_with_menu (NemoView *view, GAppInfo *application, GList *files, @@ -4463,10 +4479,9 @@ add_application_to_open_with_menu (NemoV char *label; char *action_name; char *escaped_app; - char *path; GtkAction *action; GIcon *app_icon; - GtkWidget *menuitem; + GtkUIManager *ui_manager; launch_parameters = application_launch_parameters_new (application, files, view); @@ -4508,7 +4523,8 @@ add_application_to_open_with_menu (NemoV action); g_object_unref (action); - gtk_ui_manager_add_ui (nemo_window_get_ui_manager (view->details->window), + ui_manager = nemo_window_get_ui_manager (view->details->window); + gtk_ui_manager_add_ui (ui_manager, view->details->open_with_merge_id, menu_placeholder, action_name, @@ -4516,14 +4532,9 @@ add_application_to_open_with_menu (NemoV GTK_UI_MANAGER_MENUITEM, FALSE); - path = g_strdup_printf ("%s/%s", menu_placeholder, action_name); - menuitem = gtk_ui_manager_get_widget ( - nemo_window_get_ui_manager (view->details->window), - path); - gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (menuitem), TRUE); - g_free (path); + menu_item_show_image (ui_manager, menu_placeholder, action_name); - gtk_ui_manager_add_ui (nemo_window_get_ui_manager (view->details->window), + gtk_ui_manager_add_ui (ui_manager, view->details->open_with_merge_id, popup_placeholder, action_name, @@ -4531,13 +4542,8 @@ add_application_to_open_with_menu (NemoV GTK_UI_MANAGER_MENUITEM, FALSE); - path = g_strdup_printf ("%s/%s", popup_placeholder, action_name); - menuitem = gtk_ui_manager_get_widget ( - nemo_window_get_ui_manager (view->details->window), - path); - gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (menuitem), TRUE); + menu_item_show_image (ui_manager, popup_placeholder, action_name); - g_free (path); g_free (action_name); g_free (label); g_free (tip); @@ -5541,9 +5547,8 @@ add_script_to_scripts_menus (NemoView *d pixbuf = get_menu_icon_for_file (file); if (pixbuf != NULL) { - g_object_set_data_full (G_OBJECT (action), "menu-icon", - pixbuf, - g_object_unref); + gtk_action_set_gicon (action, G_ICON (pixbuf)); + g_object_unref (pixbuf); } g_signal_connect_data (action, "activate", @@ -5579,6 +5584,10 @@ add_script_to_scripts_menus (NemoView *d GTK_UI_MANAGER_MENUITEM, FALSE); + menu_item_show_image (ui_manager, menu_path, action_name); + menu_item_show_image (ui_manager, popup_path, action_name); + menu_item_show_image (ui_manager, popup_bg_path, action_name); + g_free (name); g_free (uri); g_free (tip); @@ -5792,9 +5801,8 @@ add_template_to_templates_menus (NemoVie pixbuf = get_menu_icon_for_file (file); if (pixbuf != NULL) { - g_object_set_data_full (G_OBJECT (action), "menu-icon", - pixbuf, - g_object_unref); + gtk_action_set_gicon (action, G_ICON (pixbuf)); + g_object_unref (pixbuf); } g_signal_connect_data (action, "activate", @@ -5823,7 +5831,10 @@ add_template_to_templates_menus (NemoVie action_name, GTK_UI_MANAGER_MENUITEM, FALSE); - + + menu_item_show_image (ui_manager, menu_path, action_name); + menu_item_show_image (ui_manager, popup_bg_path, action_name); + g_free (escaped_label); g_free (name); g_free (tip);