[gimp] Bug 753986 - manage layer resource block lnsr
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] Bug 753986 - manage layer resource block lnsr
- Date: Sun, 6 Sep 2015 14:57:29 +0000 (UTC)
commit 5a2757c6ec5d6f44d74a69bc75da8bdda2585eae
Author: Julien Nabet <serval2412 yahoo fr>
Date: Sat Sep 5 22:46:16 2015 +0200
Bug 753986 - manage layer resource block lnsr
Layer name source (id on 4 characters encoded in MacRoman).
psd from PS>5 have "luni" (Layer Unicode)
See https://bugzilla.gnome.org/show_bug.cgi?id=753986#c4 for more details
Janitorial on lyvr:
move IFDBG at the beginning of the function
+change the content of it
plug-ins/file-psd/psd-layer-res-load.c | 39 ++++++++++++++++++++++++++++++-
1 files changed, 37 insertions(+), 2 deletions(-)
---
diff --git a/plug-ins/file-psd/psd-layer-res-load.c b/plug-ins/file-psd/psd-layer-res-load.c
index c8424bf..582aaa7 100644
--- a/plug-ins/file-psd/psd-layer-res-load.c
+++ b/plug-ins/file-psd/psd-layer-res-load.c
@@ -184,6 +184,11 @@ static gint load_resource_lyvr (const PSDlayerres *res_a,
FILE *f,
GError **error);
+static gint load_resource_lnsr (const PSDlayerres *res_a,
+ PSDlayer *lyr_a,
+ FILE *f,
+ GError **error);
+
/* Public Functions */
gint
get_layer_resource_header (PSDlayerres *res_a,
@@ -270,6 +275,10 @@ load_layer_resource (PSDlayerres *res_a,
else if (memcmp (res_a->key, PSD_LPRP_VERSION, 4) == 0)
load_resource_lyvr (res_a, lyr_a, f, error);
+
+ else if (memcmp (res_a->key, PSD_LPRP_SOURCE, 4) == 0)
+ load_resource_lnsr (res_a, lyr_a, f, error);
+
else
load_resource_unknown (res_a, lyr_a, f, error);
}
@@ -828,7 +837,11 @@ load_resource_lyvr (const PSDlayerres *res_a,
FILE *f,
GError **error)
{
- gint32 version;
+ gint32 version;
+
+ IFDBG(2) g_debug ("Process layer resource block %.4s: layer version",
+ res_a->key);
+
if (fread (&version, 4, 1, f) < 1)
{
psd_set_error (feof (f), errno, error);
@@ -844,6 +857,28 @@ load_resource_lyvr (const PSDlayerres *res_a,
g_message ('Invalid version layer');
}
- IFDBG(2) g_debug ("Process layer resource block %.4s: Version effects", res_a->key);
}
+
+static gint
+load_resource_lnsr (const PSDlayerres *res_a,
+ PSDlayer *lyr_a,
+ FILE *f,
+ GError **error)
+{
+ gchar layername[4];
+
+ IFDBG(2) g_debug ("Process layer resource block %.4s: layer source name",
+ res_a->key);
+
+ if (fread (&layername, 4, 1, f) < 1)
+ {
+ psd_set_error (feof (f), errno, error);
+ return -1;
+ }
+
+ /* nowadays psd files, layer name are encoded in unicode, cf "luni"
+ * moreover lnsr info is encoded in MacRoman, see
+ * https://bugzilla.gnome.org/show_bug.cgi?id=753986#c4
+ */
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]