Lines 367-372
jbig2_decode_symbol_dict(Jbig2Ctx *ctx,
Link Here
|
367 |
memcpy(region_params.gbat, params->sdat, sdat_bytes); |
367 |
memcpy(region_params.gbat, params->sdat, sdat_bytes); |
368 |
|
368 |
|
369 |
image = jbig2_image_new(ctx, SYMWIDTH, HCHEIGHT); |
369 |
image = jbig2_image_new(ctx, SYMWIDTH, HCHEIGHT); |
|
|
370 |
if (image == NULL) { |
371 |
jbig2_error(ctx, JBIG2_SEVERITY_FATAL, segment->number, |
372 |
"failed to allocate image storage"); |
373 |
return NULL; |
374 |
} |
370 |
|
375 |
|
371 |
code = jbig2_decode_generic_region(ctx, segment, ®ion_params, |
376 |
code = jbig2_decode_generic_region(ctx, segment, ®ion_params, |
372 |
as, image, GB_stats); |
377 |
as, image, GB_stats); |
Lines 517-522
jbig2_decode_symbol_dict(Jbig2Ctx *ctx,
Link Here
|
517 |
ID, RDX, RDY); |
522 |
ID, RDX, RDY); |
518 |
|
523 |
|
519 |
image = jbig2_image_new(ctx, SYMWIDTH, HCHEIGHT); |
524 |
image = jbig2_image_new(ctx, SYMWIDTH, HCHEIGHT); |
|
|
525 |
if (image == NULL) { |
526 |
jbig2_error(ctx, JBIG2_SEVERITY_FATAL, segment->number, |
527 |
"failed to allocate image storage"); |
528 |
return NULL; |
529 |
} |
520 |
|
530 |
|
521 |
/* Table 18 */ |
531 |
/* Table 18 */ |
522 |
rparams.GRTEMPLATE = params->SDRTEMPLATE; |
532 |
rparams.GRTEMPLATE = params->SDRTEMPLATE; |
Lines 635-640
jbig2_decode_symbol_dict(Jbig2Ctx *ctx,
Link Here
|
635 |
for (j = HCFIRSTSYM; j < NSYMSDECODED; j++) { |
645 |
for (j = HCFIRSTSYM; j < NSYMSDECODED; j++) { |
636 |
Jbig2Image *glyph; |
646 |
Jbig2Image *glyph; |
637 |
glyph = jbig2_image_new(ctx, SDNEWSYMWIDTHS[j], HCHEIGHT); |
647 |
glyph = jbig2_image_new(ctx, SDNEWSYMWIDTHS[j], HCHEIGHT); |
|
|
648 |
if (glyph == NULL) { |
649 |
jbig2_error(ctx, JBIG2_SEVERITY_FATAL, segment->number, |
650 |
"error allocating image storage for glyph"); |
651 |
while (--j >= HCFIRSTSYM) { |
652 |
jbig2_image_release(ctx, SDNEWSYMS->glyphs[j]); |
653 |
SDNEWSYMS->glyphs[j] = NULL; |
654 |
} |
655 |
jbig2_image_release(ctx, image); |
656 |
return NULL; |
657 |
} |
638 |
jbig2_image_compose(ctx, glyph, image, |
658 |
jbig2_image_compose(ctx, glyph, image, |
639 |
-x, 0, JBIG2_COMPOSE_REPLACE); |
659 |
-x, 0, JBIG2_COMPOSE_REPLACE); |
640 |
x += SDNEWSYMWIDTHS[j]; |
660 |
x += SDNEWSYMWIDTHS[j]; |