Use application-x-executable for unparseable desktop entries (issue #570)
This commit is contained in:
@@ -711,6 +711,9 @@ char *get_icon_path_from_cache(IconThemeWrapper *wrapper, const char *icon_name,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!g_file_test(value, G_FILE_TEST_EXISTS))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
// fprintf(stderr, "Icon path found in cache: theme = %s, icon = %s, size = %d, path = %s\n", wrapper->icon_theme_name, icon_name, size, value);
|
// fprintf(stderr, "Icon path found in cache: theme = %s, icon = %s, size = %d, path = %s\n", wrapper->icon_theme_name, icon_name, size, value);
|
||||||
|
|
||||||
return strdup(value);
|
return strdup(value);
|
||||||
|
|||||||
@@ -2332,14 +2332,17 @@ void load_desktop_file(const char *file, gboolean selected)
|
|||||||
g_object_unref(pixbuf);
|
g_object_unref(pixbuf);
|
||||||
} else {
|
} else {
|
||||||
printf("Could not load %s\n", file);
|
printf("Could not load %s\n", file);
|
||||||
|
GdkPixbuf *pixbuf = load_icon(DEFAULT_ICON);
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
gtk_list_store_append(store, &iter);
|
gtk_list_store_append(store, &iter);
|
||||||
gtk_list_store_set(store, &iter,
|
gtk_list_store_set(store, &iter,
|
||||||
appsColIcon, NULL,
|
appsColIcon, pixbuf,
|
||||||
appsColText, g_strdup(file),
|
appsColText, g_strdup(file),
|
||||||
appsColPath, g_strdup(file),
|
appsColPath, g_strdup(file),
|
||||||
appsColIconName, g_strdup(""),
|
appsColIconName, g_strdup(""),
|
||||||
-1);
|
-1);
|
||||||
|
if (pixbuf)
|
||||||
|
g_object_unref(pixbuf);
|
||||||
}
|
}
|
||||||
free_desktop_entry(&entry);
|
free_desktop_entry(&entry);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user