Mercurial > dwindows
comparison gtk/dw.c @ 255:a167001c56df
Check that _find_pixmap() returns a pixmap handle before packing the
result into the tree item. (GTK 1.x)
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Thu, 20 Feb 2003 17:48:08 +0000 |
parents | 5a594058687f |
children | 63d68387d924 |
comparison
equal
deleted
inserted
replaced
254:42332e598d55 | 255:a167001c56df |
---|---|
3498 gtk_object_set_data(GTK_OBJECT(newitem), "itemdata", (gpointer)itemdata); | 3498 gtk_object_set_data(GTK_OBJECT(newitem), "itemdata", (gpointer)itemdata); |
3499 gtk_object_set_data(GTK_OBJECT(newitem), "tree", (gpointer)tree); | 3499 gtk_object_set_data(GTK_OBJECT(newitem), "tree", (gpointer)tree); |
3500 hbox = gtk_hbox_new(FALSE, 2); | 3500 hbox = gtk_hbox_new(FALSE, 2); |
3501 gtk_object_set_data(GTK_OBJECT(newitem), "hbox", (gpointer)hbox); | 3501 gtk_object_set_data(GTK_OBJECT(newitem), "hbox", (gpointer)hbox); |
3502 gdkpix = _find_pixmap(&gdkbmp, icon, hbox, NULL, NULL); | 3502 gdkpix = _find_pixmap(&gdkbmp, icon, hbox, NULL, NULL); |
3503 #if GTK_MAJOR_VERSION > 1 | |
3504 pixmap = gtk_image_new_from_pixmap(gdkpix, gdkbmp); | |
3505 #else | |
3506 pixmap = gtk_pixmap_new(gdkpix, gdkbmp); | |
3507 #endif | |
3508 gtk_container_add(GTK_CONTAINER(newitem), hbox); | 3503 gtk_container_add(GTK_CONTAINER(newitem), hbox); |
3509 gtk_box_pack_start(GTK_BOX(hbox), pixmap, FALSE, TRUE, 0); | 3504 if(gdkpix) |
3505 { | |
3506 pixmap = gtk_pixmap_new(gdkpix, gdkbmp); | |
3507 gtk_box_pack_start(GTK_BOX(hbox), pixmap, FALSE, TRUE, 0); | |
3508 gtk_widget_show(pixmap); | |
3509 } | |
3510 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, TRUE, 0); | 3510 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, TRUE, 0); |
3511 gtk_widget_show(label); | 3511 gtk_widget_show(label); |
3512 gtk_widget_show(pixmap); | |
3513 gtk_widget_show(hbox); | 3512 gtk_widget_show(hbox); |
3514 | 3513 |
3515 if(parent) | 3514 if(parent) |
3516 { | 3515 { |
3517 subtree = (GtkWidget *)gtk_object_get_user_data(GTK_OBJECT(parent)); | 3516 subtree = (GtkWidget *)gtk_object_get_user_data(GTK_OBJECT(parent)); |
3617 gtk_object_set_data(GTK_OBJECT(item), "itemdata", (gpointer)itemdata); | 3616 gtk_object_set_data(GTK_OBJECT(item), "itemdata", (gpointer)itemdata); |
3618 gtk_object_set_data(GTK_OBJECT(item), "tree", (gpointer)tree); | 3617 gtk_object_set_data(GTK_OBJECT(item), "tree", (gpointer)tree); |
3619 hbox = gtk_hbox_new(FALSE, 2); | 3618 hbox = gtk_hbox_new(FALSE, 2); |
3620 gtk_object_set_data(GTK_OBJECT(item), "hbox", (gpointer)hbox); | 3619 gtk_object_set_data(GTK_OBJECT(item), "hbox", (gpointer)hbox); |
3621 gdkpix = _find_pixmap(&gdkbmp, icon, hbox, NULL, NULL); | 3620 gdkpix = _find_pixmap(&gdkbmp, icon, hbox, NULL, NULL); |
3622 #if GTK_MAJOR_VERSION > 1 | |
3623 pixmap = gtk_image_new_from_pixmap(gdkpix, gdkbmp); | |
3624 #else | |
3625 pixmap = gtk_pixmap_new(gdkpix, gdkbmp); | |
3626 #endif | |
3627 gtk_container_add(GTK_CONTAINER(item), hbox); | 3621 gtk_container_add(GTK_CONTAINER(item), hbox); |
3628 gtk_box_pack_start(GTK_BOX(hbox), pixmap, FALSE, TRUE, 0); | 3622 if(gdkpix) |
3623 { | |
3624 pixmap = gtk_pixmap_new(gdkpix, gdkbmp); | |
3625 gtk_box_pack_start(GTK_BOX(hbox), pixmap, FALSE, TRUE, 0); | |
3626 gtk_widget_show(pixmap); | |
3627 } | |
3629 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, TRUE, 0); | 3628 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, TRUE, 0); |
3630 gtk_widget_show(label); | 3629 gtk_widget_show(label); |
3631 gtk_widget_show(pixmap); | |
3632 gtk_widget_show(hbox); | 3630 gtk_widget_show(hbox); |
3633 | 3631 |
3634 if(parent) | 3632 if(parent) |
3635 { | 3633 { |
3636 subtree = (GtkWidget *)gtk_object_get_user_data(GTK_OBJECT(parent)); | 3634 subtree = (GtkWidget *)gtk_object_get_user_data(GTK_OBJECT(parent)); |
3724 hbox = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(item), "hbox"); | 3722 hbox = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(item), "hbox"); |
3725 gtk_widget_destroy(hbox); | 3723 gtk_widget_destroy(hbox); |
3726 hbox = gtk_hbox_new(FALSE, 2); | 3724 hbox = gtk_hbox_new(FALSE, 2); |
3727 gtk_object_set_data(GTK_OBJECT(item), "hbox", (gpointer)hbox); | 3725 gtk_object_set_data(GTK_OBJECT(item), "hbox", (gpointer)hbox); |
3728 gdkpix = _find_pixmap(&gdkbmp, icon, hbox, NULL, NULL); | 3726 gdkpix = _find_pixmap(&gdkbmp, icon, hbox, NULL, NULL); |
3729 #if GTK_MAJOR_VERSION > 1 | |
3730 pixmap = gtk_image_new_from_pixmap(gdkpix, gdkbmp); | |
3731 #else | |
3732 pixmap = gtk_pixmap_new(gdkpix, gdkbmp); | |
3733 #endif | |
3734 gtk_container_add(GTK_CONTAINER(item), hbox); | 3727 gtk_container_add(GTK_CONTAINER(item), hbox); |
3735 gtk_box_pack_start(GTK_BOX(hbox), pixmap, FALSE, TRUE, 0); | 3728 if(gdkpix) |
3729 { | |
3730 pixmap = gtk_pixmap_new(gdkpix, gdkbmp); | |
3731 gtk_box_pack_start(GTK_BOX(hbox), pixmap, FALSE, TRUE, 0); | |
3732 gtk_widget_show(pixmap); | |
3733 } | |
3736 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, TRUE, 0); | 3734 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, TRUE, 0); |
3737 gtk_widget_show(label); | 3735 gtk_widget_show(label); |
3738 gtk_widget_show(pixmap); | |
3739 gtk_widget_show(hbox); | 3736 gtk_widget_show(hbox); |
3740 DW_MUTEX_UNLOCK; | 3737 DW_MUTEX_UNLOCK; |
3741 #endif | 3738 #endif |
3742 } | 3739 } |
3743 | 3740 |