user-accounts: Don't warn if there are no faces pixmaps
https://bugzilla.gnome.org/show_bug.cgi?id=645347
This commit is contained in:
parent
a665a52609
commit
a97d65fdcc
1 changed files with 51 additions and 35 deletions
|
@ -372,29 +372,37 @@ setup_photo_popup (UmPhotoDialog *um)
|
||||||
{
|
{
|
||||||
GtkWidget *menu, *menuitem, *image;
|
GtkWidget *menu, *menuitem, *image;
|
||||||
guint x, y;
|
guint x, y;
|
||||||
|
const gchar * const * dirs;
|
||||||
|
guint i;
|
||||||
GDir *dir;
|
GDir *dir;
|
||||||
const char *face;
|
const char *face;
|
||||||
GError *error;
|
|
||||||
gboolean none_item_shown;
|
gboolean none_item_shown;
|
||||||
|
gboolean added_faces;
|
||||||
|
|
||||||
menu = gtk_menu_new ();
|
menu = gtk_menu_new ();
|
||||||
|
|
||||||
x = 0;
|
x = 0;
|
||||||
y = 0;
|
y = 0;
|
||||||
none_item_shown = FALSE;
|
none_item_shown = added_faces = FALSE;
|
||||||
|
|
||||||
error = NULL;
|
dirs = g_get_system_data_dirs ();
|
||||||
dir = g_dir_open (DATADIR "/pixmaps/faces", 0, &error);
|
for (i = 0; dirs[i] != NULL; i++) {
|
||||||
|
char *path;
|
||||||
|
|
||||||
|
path = g_build_filename (dirs[i], "pixmaps", "faces", NULL);
|
||||||
|
g_message ("trying to open %s", path);
|
||||||
|
dir = g_dir_open (path, 0, NULL);
|
||||||
if (dir == NULL) {
|
if (dir == NULL) {
|
||||||
g_warning ("Failed to load faces: %s", error->message);
|
g_free (path);
|
||||||
g_error_free (error);
|
continue;
|
||||||
goto skip_faces;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
while ((face = g_dir_read_name (dir)) != NULL) {
|
while ((face = g_dir_read_name (dir)) != NULL) {
|
||||||
char *filename;
|
char *filename;
|
||||||
|
|
||||||
filename = g_build_filename (DATADIR "/pixmaps/faces", face, NULL);
|
added_faces = TRUE;
|
||||||
|
|
||||||
|
filename = g_build_filename (path, face, NULL);
|
||||||
menuitem = menu_item_for_filename (um, filename);
|
menuitem = menu_item_for_filename (um, filename);
|
||||||
g_free (filename);
|
g_free (filename);
|
||||||
if (menuitem == NULL)
|
if (menuitem == NULL)
|
||||||
|
@ -411,6 +419,14 @@ setup_photo_popup (UmPhotoDialog *um)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
g_dir_close (dir);
|
g_dir_close (dir);
|
||||||
|
g_free (path);
|
||||||
|
|
||||||
|
if (added_faces)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!added_faces)
|
||||||
|
goto skip_faces;
|
||||||
|
|
||||||
image = gtk_image_new_from_icon_name ("avatar-default", GTK_ICON_SIZE_DIALOG);
|
image = gtk_image_new_from_icon_name ("avatar-default", GTK_ICON_SIZE_DIALOG);
|
||||||
menuitem = gtk_menu_item_new ();
|
menuitem = gtk_menu_item_new ();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue