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