Index: panel-plugin/desktop-menu-plugin.c =================================================================== --- panel-plugin/desktop-menu-plugin.c (revision 29412) +++ panel-plugin/desktop-menu-plugin.c (working copy) @@ -519,20 +519,23 @@ gpointer user_data) { DMPlugin *dmp = user_data; + gchar *menu_file = gtk_file_chooser_get_filename(fc); + if (menu_file) + { + g_free(dmp->menu_file); + dmp->menu_file = menu_file; - g_free(dmp->menu_file); - dmp->menu_file = gtk_file_chooser_get_filename(fc); - - if(dmp->desktop_menu) { - const gchar *cur_file = xfce_desktop_menu_get_menu_file(dmp->desktop_menu); - if(strcmp(dmp->menu_file, cur_file)) { - gchar *path; - xfce_desktop_menu_destroy(dmp->desktop_menu); - path = dmp_get_real_path(dmp->menu_file); - dmp->desktop_menu = xfce_desktop_menu_new(path, TRUE); - g_free(path); - if(!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dmp->icons_chk))) - xfce_desktop_menu_set_show_icons(dmp->desktop_menu, FALSE); + if(dmp->desktop_menu) { + const gchar *cur_file = xfce_desktop_menu_get_menu_file(dmp->desktop_menu); + if(strcmp(dmp->menu_file, cur_file)) { + gchar *path; + xfce_desktop_menu_destroy(dmp->desktop_menu); + path = dmp_get_real_path(dmp->menu_file); + dmp->desktop_menu = xfce_desktop_menu_new(path, TRUE); + g_free(path); + if(!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dmp->icons_chk))) + xfce_desktop_menu_set_show_icons(dmp->desktop_menu, FALSE); + } } } }