Fix the PSD structs to use signed ints for bounding box coordinates.

This commit is contained in:
Simon Budig 2009-11-17 01:12:19 +01:00
parent be05769974
commit 0e440cb6d4
2 changed files with 28 additions and 28 deletions

View File

@ -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 =

View File

@ -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 */