mirror of https://github.com/GNOME/gimp.git
Fix the PSD structs to use signed ints for bounding box coordinates.
This commit is contained in:
parent
be05769974
commit
0e440cb6d4
|
@ -532,10 +532,10 @@ read_layer_block (PSDimage *img_a,
|
||||||
psd_set_error (feof (f), errno, error);
|
psd_set_error (feof (f), errno, error);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
lyr_a[lidx]->top = GUINT32_FROM_BE (lyr_a[lidx]->top);
|
lyr_a[lidx]->top = GINT32_FROM_BE (lyr_a[lidx]->top);
|
||||||
lyr_a[lidx]->left = GUINT32_FROM_BE (lyr_a[lidx]->left);
|
lyr_a[lidx]->left = GINT32_FROM_BE (lyr_a[lidx]->left);
|
||||||
lyr_a[lidx]->bottom = GUINT32_FROM_BE (lyr_a[lidx]->bottom);
|
lyr_a[lidx]->bottom = GINT32_FROM_BE (lyr_a[lidx]->bottom);
|
||||||
lyr_a[lidx]->right = GUINT32_FROM_BE (lyr_a[lidx]->right);
|
lyr_a[lidx]->right = GINT32_FROM_BE (lyr_a[lidx]->right);
|
||||||
lyr_a[lidx]->num_channels = GUINT16_FROM_BE (lyr_a[lidx]->num_channels);
|
lyr_a[lidx]->num_channels = GUINT16_FROM_BE (lyr_a[lidx]->num_channels);
|
||||||
|
|
||||||
if (lyr_a[lidx]->num_channels > MAX_CHANNELS)
|
if (lyr_a[lidx]->num_channels > MAX_CHANNELS)
|
||||||
|
@ -669,13 +669,13 @@ read_layer_block (PSDimage *img_a,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
lyr_a[lidx]->layer_mask.top =
|
lyr_a[lidx]->layer_mask.top =
|
||||||
GUINT32_FROM_BE (lyr_a[lidx]->layer_mask.top);
|
GINT32_FROM_BE (lyr_a[lidx]->layer_mask.top);
|
||||||
lyr_a[lidx]->layer_mask.left =
|
lyr_a[lidx]->layer_mask.left =
|
||||||
GUINT32_FROM_BE (lyr_a[lidx]->layer_mask.left);
|
GINT32_FROM_BE (lyr_a[lidx]->layer_mask.left);
|
||||||
lyr_a[lidx]->layer_mask.bottom =
|
lyr_a[lidx]->layer_mask.bottom =
|
||||||
GUINT32_FROM_BE (lyr_a[lidx]->layer_mask.bottom);
|
GINT32_FROM_BE (lyr_a[lidx]->layer_mask.bottom);
|
||||||
lyr_a[lidx]->layer_mask.right =
|
lyr_a[lidx]->layer_mask.right =
|
||||||
GUINT32_FROM_BE (lyr_a[lidx]->layer_mask.right);
|
GINT32_FROM_BE (lyr_a[lidx]->layer_mask.right);
|
||||||
lyr_a[lidx]->layer_mask.mask_flags.relative_pos =
|
lyr_a[lidx]->layer_mask.mask_flags.relative_pos =
|
||||||
lyr_a[lidx]->layer_mask.flags & 1 ? TRUE : FALSE;
|
lyr_a[lidx]->layer_mask.flags & 1 ? TRUE : FALSE;
|
||||||
lyr_a[lidx]->layer_mask.mask_flags.disabled =
|
lyr_a[lidx]->layer_mask.mask_flags.disabled =
|
||||||
|
@ -701,21 +701,21 @@ read_layer_block (PSDimage *img_a,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
lyr_a[lidx]->layer_mask_extra.top =
|
lyr_a[lidx]->layer_mask_extra.top =
|
||||||
GUINT32_FROM_BE (lyr_a[lidx]->layer_mask_extra.top);
|
GINT32_FROM_BE (lyr_a[lidx]->layer_mask_extra.top);
|
||||||
lyr_a[lidx]->layer_mask_extra.left =
|
lyr_a[lidx]->layer_mask_extra.left =
|
||||||
GUINT32_FROM_BE (lyr_a[lidx]->layer_mask_extra.left);
|
GINT32_FROM_BE (lyr_a[lidx]->layer_mask_extra.left);
|
||||||
lyr_a[lidx]->layer_mask_extra.bottom =
|
lyr_a[lidx]->layer_mask_extra.bottom =
|
||||||
GUINT32_FROM_BE (lyr_a[lidx]->layer_mask_extra.bottom);
|
GINT32_FROM_BE (lyr_a[lidx]->layer_mask_extra.bottom);
|
||||||
lyr_a[lidx]->layer_mask_extra.right =
|
lyr_a[lidx]->layer_mask_extra.right =
|
||||||
GUINT32_FROM_BE (lyr_a[lidx]->layer_mask_extra.right);
|
GINT32_FROM_BE (lyr_a[lidx]->layer_mask_extra.right);
|
||||||
lyr_a[lidx]->layer_mask.top =
|
lyr_a[lidx]->layer_mask.top =
|
||||||
GUINT32_FROM_BE (lyr_a[lidx]->layer_mask.top);
|
GINT32_FROM_BE (lyr_a[lidx]->layer_mask.top);
|
||||||
lyr_a[lidx]->layer_mask.left =
|
lyr_a[lidx]->layer_mask.left =
|
||||||
GUINT32_FROM_BE (lyr_a[lidx]->layer_mask.left);
|
GINT32_FROM_BE (lyr_a[lidx]->layer_mask.left);
|
||||||
lyr_a[lidx]->layer_mask.bottom =
|
lyr_a[lidx]->layer_mask.bottom =
|
||||||
GUINT32_FROM_BE (lyr_a[lidx]->layer_mask.bottom);
|
GINT32_FROM_BE (lyr_a[lidx]->layer_mask.bottom);
|
||||||
lyr_a[lidx]->layer_mask.right =
|
lyr_a[lidx]->layer_mask.right =
|
||||||
GUINT32_FROM_BE (lyr_a[lidx]->layer_mask.right);
|
GINT32_FROM_BE (lyr_a[lidx]->layer_mask.right);
|
||||||
lyr_a[lidx]->layer_mask.mask_flags.relative_pos =
|
lyr_a[lidx]->layer_mask.mask_flags.relative_pos =
|
||||||
lyr_a[lidx]->layer_mask.flags & 1 ? TRUE : FALSE;
|
lyr_a[lidx]->layer_mask.flags & 1 ? TRUE : FALSE;
|
||||||
lyr_a[lidx]->layer_mask.mask_flags.disabled =
|
lyr_a[lidx]->layer_mask.mask_flags.disabled =
|
||||||
|
|
|
@ -446,10 +446,10 @@ typedef struct
|
||||||
/* PSD Layer mask data (length 20) */
|
/* PSD Layer mask data (length 20) */
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
guint32 top; /* Layer top */
|
gint32 top; /* Layer top */
|
||||||
guint32 left; /* Layer left */
|
gint32 left; /* Layer left */
|
||||||
guint32 bottom; /* Layer bottom */
|
gint32 bottom; /* Layer bottom */
|
||||||
guint32 right; /* Layer right */
|
gint32 right; /* Layer right */
|
||||||
guchar def_color; /* Default background colour */
|
guchar def_color; /* Default background colour */
|
||||||
guchar flags; /* Layer flags */
|
guchar flags; /* Layer flags */
|
||||||
guchar extra_def_color; /* Real default background colour */
|
guchar extra_def_color; /* Real default background colour */
|
||||||
|
@ -460,20 +460,20 @@ typedef struct
|
||||||
/* PSD Layer mask data (length 36) */
|
/* PSD Layer mask data (length 36) */
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
guint32 top; /* Layer top */
|
gint32 top; /* Layer top */
|
||||||
guint32 left; /* Layer left */
|
gint32 left; /* Layer left */
|
||||||
guint32 bottom; /* Layer bottom */
|
gint32 bottom; /* Layer bottom */
|
||||||
guint32 right; /* Layer right */
|
gint32 right; /* Layer right */
|
||||||
} LayerMaskExtra;
|
} LayerMaskExtra;
|
||||||
|
|
||||||
/* PSD Layer data structure */
|
/* PSD Layer data structure */
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
gboolean drop; /* Do not add layer to GIMP image */
|
gboolean drop; /* Do not add layer to GIMP image */
|
||||||
guint32 top; /* Layer top */
|
gint32 top; /* Layer top */
|
||||||
guint32 left; /* Layer left */
|
gint32 left; /* Layer left */
|
||||||
guint32 bottom; /* Layer bottom */
|
gint32 bottom; /* Layer bottom */
|
||||||
guint32 right; /* Layer right */
|
gint32 right; /* Layer right */
|
||||||
guint16 num_channels; /* Number of channels */
|
guint16 num_channels; /* Number of channels */
|
||||||
ChannelLengthInfo *chn_info; /* Channel length info */
|
ChannelLengthInfo *chn_info; /* Channel length info */
|
||||||
gchar mode_key[4]; /* Blend mode key */
|
gchar mode_key[4]; /* Blend mode key */
|
||||||
|
|
Loading…
Reference in New Issue