520
521
icons_to_add = g_list_delete_link (icons_to_add, icons_to_add);
522
if (icon_to_add->stock_id)
523
if (icon_to_add->stock_id) {
523
524
gtk_image_set_from_stock (
524
525
GTK_IMAGE (icon_to_add->image),
525
526
icon_to_add->stock_id,
526
527
icon_to_add->icon_size);
528
} else if (icon_to_add->gicon) {
529
gtk_image_set_from_gicon (
530
GTK_IMAGE (icon_to_add->image),
532
icon_to_add->icon_size);
528
534
g_assert (icon_to_add->pixbuf);
530
536
gtk_image_set_from_pixbuf (
579
587
icon_to_add->stock_id = icon->stock_id;
580
588
icon_to_add->pixbuf = NULL;
581
589
icon_to_add->icon_size = icon->icon_size;
583
icons_to_add = g_list_prepend (icons_to_add, icon_to_add);
584
} else if (icon->gicon) {
585
IconToAdd *icon_to_add;
588
int icon_height = PANEL_DEFAULT_MENU_ICON_SIZE;
590
gtk_icon_size_lookup (icon->icon_size, NULL, &icon_height);
592
icon_name = panel_util_get_icon_name_from_g_icon (icon->gicon);
595
pb = panel_make_menu_icon (icon->icon_theme,
597
icon->fallback_image,
602
pb = panel_util_get_pixbuf_from_g_loadable_icon (icon->gicon, icon_height);
603
if (!pb && icon->fallback_image) {
604
pb = panel_make_menu_icon (icon->icon_theme,
606
icon->fallback_image,
613
icon_to_load_free (icon);
615
/* this may have been a long operation so jump
616
* back to the main loop for a while */
619
/* we didn't do anything long/hard, so just do
620
* this again, this is fun, don't go back to
622
goto load_icons_handler_again;
625
icon_to_add = g_new (IconToAdd, 1);
626
icon_to_add->image = g_object_ref (icon->pixmap);
627
icon_to_add->stock_id = NULL;
628
icon_to_add->pixbuf = pb;
629
icon_to_add->icon_size = icon->icon_size;
591
icon_to_add->gicon = g_object_ref (icon->gicon);
593
icon_to_add->gicon = NULL;
631
595
icons_to_add = g_list_prepend (icons_to_add, icon_to_add);
656
620
icon_to_add = g_new (IconToAdd, 1);
657
621
icon_to_add->image = g_object_ref (icon->pixmap);
658
622
icon_to_add->stock_id = NULL;
623
icon_to_add->gicon = NULL;
659
624
icon_to_add->pixbuf = pb;
660
625
icon_to_add->icon_size = icon->icon_size;