diff options
-rw-r--r-- | io-psd.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -105,7 +105,7 @@ typedef struct guchar** ch_bufs; /* channels buffers */ guint curr_ch; /* current channel */ guint curr_row; - guint pos; // redundant? + guint pos; guint16* lines_lengths; gboolean finalized; gboolean use_alpha; @@ -350,6 +350,7 @@ gdk_pixbuf__psd_image_load_increment (gpointer context_ptr, if (ctx->color_mode != PSD_MODE_RGB && ctx->color_mode != PSD_MODE_GRAYSCALE && ctx->color_mode != PSD_MODE_CMYK + && ctx->color_mode != PSD_MODE_DUOTONE ) { g_set_error (error, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_UNKNOWN_TYPE, @@ -522,7 +523,9 @@ gdk_pixbuf__psd_image_load_increment (gpointer context_ptr, } pixels += gdk_pixbuf_get_rowstride(ctx->pixbuf); } - } else if (ctx->color_mode == PSD_MODE_GRAYSCALE) { + } else if (ctx->color_mode == PSD_MODE_GRAYSCALE || + ctx->color_mode == PSD_MODE_DUOTONE) + { for (int i = 0; i < ctx->height; i++) { for (int j = 0; j < ctx->width; j++) { pixels[3*j+0] = pixels[3*j+1] = pixels[3*j+2] = |