1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- http://bugs.gentoo.org/411949
- http://bugs.ganymede.ch/
- http://lionel.lefolgoc.net/misc/01_port-to-xfcerc.patch
- --- panel-plugin/linelight.c
- +++ panel-plugin/linelight.c
- @@ -207,7 +207,7 @@ void linelight_add_list_entry(LineLightD
- remove_newline(entry);
-
- GtkTreeIter iter;
- - char *icon;
- + const gchar *icon = NULL;
- GdkPixbuf *pixbuf;
-
- gtk_list_store_insert(data->list, &iter, data->listPointer[sec]);
- @@ -218,13 +218,15 @@ void linelight_add_list_entry(LineLightD
- //icon
- if (g_file_query_exists (file, NULL) && sec == BIN_SECTION )
- {
- - XfceDesktopEntry* app = xfce_desktop_entry_new(entry,categories,3);
- + XfceRc* app = xfce_rc_simple_open(entry, TRUE);
-
- - if (app != NULL && xfce_desktop_entry_get_string(app, "Icon", TRUE, &icon) && NULL != (pixbuf= load_icon(icon)))
- + if (app != NULL)
- {
- - gtk_list_store_set(data->list, &iter, ICON_COL, pixbuf, -1);
- - g_object_unref(app);
- - free(icon);
- + xfce_rc_set_group(app, G_KEY_FILE_DESKTOP_GROUP);
- + icon = xfce_rc_read_entry(app, G_KEY_FILE_DESKTOP_KEY_ICON, NULL);
- + if (icon != NULL && NULL != (pixbuf= load_icon(icon)))
- + gtk_list_store_set(data->list, &iter, ICON_COL, pixbuf, -1);
- + xfce_rc_close(app);
- }
- }
- else if (file != NULL)
- --- panel-plugin/main.c
- +++ panel-plugin/main.c
- @@ -155,14 +155,15 @@ static void cell_renderer(GtkTreeViewCol
- }
- else if (strstr(name,".desktop") != NULL) //Application names based on .desktop files
- {
- - XfceDesktopEntry *application = xfce_desktop_entry_new(path,categories,3);
- - if (XFCE_IS_DESKTOP_ENTRY(application))
- + XfceRc *application = xfce_rc_simple_open(path, TRUE);
- + if (application != NULL)
- {
- - char* app_name;
- - xfce_desktop_entry_get_string(application, "Name", TRUE, &app_name);
- - g_object_unref(application);
- - g_object_set(cell,"text", app_name,NULL);
- - free(app_name);
- + const gchar* app_name = NULL;
- + xfce_rc_set_group(application, G_KEY_FILE_DESKTOP_GROUP);
- + app_name = xfce_rc_read_entry(application, G_KEY_FILE_DESKTOP_KEY_NAME, NULL);
- + if (app_name != NULL)
- + g_object_set(cell,"text", app_name, NULL);
- + xfce_rc_close(application);
- }
- }
- else
|