--- dia-0.94/app/interface.c.orit 2005-03-10 08:29:36.000000000 +0000
+++ dia-0.94/app/interface.c 2005-03-10 08:30:44.000000000 +0000
@@ -940,6 +940,17 @@
GError* gerror = NULL;
pixbuf = gdk_pixbuf_new_from_file(sheet_obj->pixmap_file, &gerror);
+ if (pixbuf == NULL) {
+ int len = strlen(sheet_obj->pixmap_file);
+ if ((len > 4) && !strcmp(sheet_obj->pixmap_file+len-4, ".png"))
+ {
+ GError* gerrortwo = NULL;
+ strcpy(sheet_obj->pixmap_file+len-4, ".xpm");
+ pixbuf = gdk_pixbuf_new_from_file(sheet_obj->pixmap_file, &gerrortwo);
+ if (gerrortwo) g_error_free (gerrortwo);
+ }
+ }
+
if (pixbuf != NULL) {
gdk_pixbuf_render_pixmap_and_mask_for_colormap(pixbuf, gtk_widget_get_colormap(sheet_wbox), &pixmap, &mask, 1.0);
gdk_pixbuf_unref(pixbuf);
@@ -951,6 +962,7 @@
message_warning("failed to load icon for file\n %s\n cause=%s",
sheet_obj->pixmap_file,gerror?gerror->message:"[NULL]");
}
+ if (gerror) g_error_free (gerror);
} else {
DiaObjectType *type;
type = object_get_type(sheet_obj->object_type);