[gimp] plug-ins: in file-psd, use normal channel order
- From: Ell <ell src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] plug-ins: in file-psd, use normal channel order
- Date: Sun, 26 Apr 2020 20:39:58 +0000 (UTC)
commit 2d4de85fe3ea50b67e07dfca05150f2729a8295c
Author: Ell <ell_se yahoo com>
Date: Sun Apr 26 23:31:50 2020 +0300
plug-ins: in file-psd, use normal channel order
For some reason we reverse the channel order when loading/saving a
PSD file. This doesn't seem to be necessary, and leads to a
reversed channel order across GIMP/Photoshop. Simply use the
normal channel order instead.
plug-ins/file-psd/psd-load.c | 2 +-
plug-ins/file-psd/psd-save.c | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/plug-ins/file-psd/psd-load.c b/plug-ins/file-psd/psd-load.c
index 5955bde6b9..2b5ba3c4df 100644
--- a/plug-ins/file-psd/psd-load.c
+++ b/plug-ins/file-psd/psd-load.c
@@ -2098,7 +2098,7 @@ add_merged_image (GimpImage *image,
channel = gimp_channel_new (image, alpha_name,
chn_a[cidx].columns, chn_a[cidx].rows,
alpha_opacity, &alpha_rgb);
- gimp_image_insert_channel (image, channel, NULL, 0);
+ gimp_image_insert_channel (image, channel, NULL, i);
g_free (alpha_name);
buffer = gimp_drawable_get_buffer (GIMP_DRAWABLE (channel));
if (alpha_id)
diff --git a/plug-ins/file-psd/psd-save.c b/plug-ins/file-psd/psd-save.c
index 6e37def250..97b5194fe5 100644
--- a/plug-ins/file-psd/psd-save.c
+++ b/plug-ins/file-psd/psd-save.c
@@ -680,7 +680,7 @@ save_resources (FILE *fd,
if (gimp_drawable_has_alpha (GIMP_DRAWABLE (PSDImageData.merged_layer)))
write_string (fd, "Transparency", "channel name");
- for (iter = g_list_last (PSDImageData.lChannels); iter; iter = iter->prev)
+ for (iter = PSDImageData.lChannels; iter; iter = g_list_next (iter))
{
char *chName = gimp_item_get_name (iter->data);
write_string (fd, chName, "channel name");
@@ -743,7 +743,7 @@ save_resources (FILE *fd,
write_gchar (fd, 1, "channel mode");
}
- for (iter = g_list_last (PSDImageData.lChannels); iter; iter = iter->prev)
+ for (iter = PSDImageData.lChannels; iter; iter = g_list_next (iter))
{
GimpChannel *channel = iter->data;
GimpRGB color;
@@ -1583,7 +1583,7 @@ save_data (FILE *fd,
chan = nChansLayer (PSDImageData.baseType,
gimp_drawable_has_alpha (GIMP_DRAWABLE (PSDImageData.merged_layer)), 0);
- for (iter = g_list_last (PSDImageData.lChannels), i = PSDImageData.nChannels - 1; iter; iter = iter->prev,
i--)
+ for (iter = PSDImageData.lChannels; iter; iter = g_list_next (iter))
{
IFDBG printf ("\t\tWriting compressed channel data for channel %d\n",
i);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]