Mercurial > emacs
comparison src/gtkutil.c @ 85938:d7e05ac913d8
(xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
abort with a message on unhandled store_type values.
author | Jan Djärv <jan.h.d@swipnet.se> |
---|---|
date | Tue, 06 Nov 2007 09:26:52 +0000 |
parents | 5d074ea0e4a2 |
children | 3408ab8b4152 880960b70474 |
comparison
equal
deleted
inserted
replaced
85937:0fb2af7d89ed | 85938:d7e05ac913d8 |
---|---|
3458 else | 3458 else |
3459 { | 3459 { |
3460 GtkImage *wimage = GTK_IMAGE (gtk_bin_get_child (GTK_BIN (wbutton))); | 3460 GtkImage *wimage = GTK_IMAGE (gtk_bin_get_child (GTK_BIN (wbutton))); |
3461 GtkSettings *settings = gtk_widget_get_settings (GTK_WIDGET (wbutton)); | 3461 GtkSettings *settings = gtk_widget_get_settings (GTK_WIDGET (wbutton)); |
3462 GtkImageType store_type = gtk_image_get_storage_type (wimage); | 3462 GtkImageType store_type = gtk_image_get_storage_type (wimage); |
3463 | |
3463 if (store_type == GTK_IMAGE_STOCK) | 3464 if (store_type == GTK_IMAGE_STOCK) |
3464 { | 3465 { |
3465 gchar *stock_id; | 3466 gchar *stock_id; |
3466 gtk_image_get_stock (wimage, &stock_id, NULL); | 3467 gtk_image_get_stock (wimage, &stock_id, NULL); |
3467 wmenuimage = gtk_image_new_from_stock (stock_id, GTK_ICON_SIZE_MENU); | 3468 wmenuimage = gtk_image_new_from_stock (stock_id, GTK_ICON_SIZE_MENU); |
3487 dest_pixbuf = gdk_pixbuf_scale_simple (src_pixbuf, width, height, | 3488 dest_pixbuf = gdk_pixbuf_scale_simple (src_pixbuf, width, height, |
3488 GDK_INTERP_BILINEAR); | 3489 GDK_INTERP_BILINEAR); |
3489 | 3490 |
3490 wmenuimage = gtk_image_new_from_pixbuf (dest_pixbuf); | 3491 wmenuimage = gtk_image_new_from_pixbuf (dest_pixbuf); |
3491 } | 3492 } |
3493 else | |
3494 { | |
3495 fprintf (stderr, "internal error: GTK_IMAGE_PIXBUF failed\n"); | |
3496 abort (); | |
3497 } | |
3498 } | |
3499 else if (store_type == GTK_IMAGE_ICON_NAME) | |
3500 { | |
3501 const gchar *icon_name; | |
3502 GtkIconSize icon_size; | |
3503 | |
3504 gtk_image_get_icon_name (wimage, &icon_name, &icon_size); | |
3505 wmenuimage = gtk_image_new_from_icon_name (icon_name, | |
3506 GTK_ICON_SIZE_MENU); | |
3507 } | |
3508 else | |
3509 { | |
3510 fprintf (stderr, "internal error: store_type is %d\n", store_type); | |
3511 abort (); | |
3492 } | 3512 } |
3493 } | 3513 } |
3494 if (wmenuimage) | 3514 if (wmenuimage) |
3495 gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (wmenuitem), wmenuimage); | 3515 gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (wmenuitem), wmenuimage); |
3496 | 3516 |