diff options
author | Matt Holgate <matt@emobix.co.uk> | 2014-06-26 14:16:27 +0100 |
---|---|---|
committer | Matt Holgate <matt@emobix.co.uk> | 2014-06-26 16:53:36 +0100 |
commit | ada560eb015e7b2208c492d47f28da8093733c4a (patch) | |
tree | 00f8a4739292098fe27db5e7bc6e272d90394730 | |
parent | 526ab461bd85cce92d866ee5c4245a6c3636082c (diff) |
Add missing fz_var() and fix potential memory leak.
-rw-r--r-- | platform/ios/Classes/MuPageViewNormal.m | 4 | ||||
-rw-r--r-- | source/fitz/list-device.c | 60 |
2 files changed, 41 insertions, 23 deletions
diff --git a/platform/ios/Classes/MuPageViewNormal.m b/platform/ios/Classes/MuPageViewNormal.m index a339df45a..eacd611bd 100644 --- a/platform/ios/Classes/MuPageViewNormal.m +++ b/platform/ios/Classes/MuPageViewNormal.m | |||
@@ -320,6 +320,8 @@ static int setFocussedWidgetText(fz_document *doc, fz_page *page, const char *te | |||
320 | { | 320 | { |
321 | int accepted = 0; | 321 | int accepted = 0; |
322 | 322 | ||
323 | fz_var(accepted); | ||
324 | |||
323 | fz_try(ctx) | 325 | fz_try(ctx) |
324 | { | 326 | { |
325 | pdf_document *idoc = pdf_specifics(doc); | 327 | pdf_document *idoc = pdf_specifics(doc); |
@@ -344,6 +346,8 @@ static int setFocussedWidgetChoice(fz_document *doc, fz_page *page, const char * | |||
344 | { | 346 | { |
345 | int accepted = 0; | 347 | int accepted = 0; |
346 | 348 | ||
349 | fz_var(accepted); | ||
350 | |||
347 | fz_try(ctx) | 351 | fz_try(ctx) |
348 | { | 352 | { |
349 | pdf_document *idoc = pdf_specifics(doc); | 353 | pdf_document *idoc = pdf_specifics(doc); |
diff --git a/source/fitz/list-device.c b/source/fitz/list-device.c index 529e0bbff..981d530ff 100644 --- a/source/fitz/list-device.c +++ b/source/fitz/list-device.c | |||
@@ -557,36 +557,50 @@ fz_list_end_tile(fz_device *dev) | |||
557 | fz_device * | 557 | fz_device * |
558 | fz_new_list_device(fz_context *ctx, fz_display_list *list) | 558 | fz_new_list_device(fz_context *ctx, fz_display_list *list) |
559 | { | 559 | { |
560 | fz_device *dev = fz_new_device(ctx, list); | 560 | fz_device *dev = NULL; |
561 | 561 | ||
562 | dev->begin_page = fz_list_begin_page; | 562 | fz_var(list); |
563 | dev->end_page = fz_list_end_page; | 563 | fz_var(dev); |
564 | fz_try(ctx) | ||
565 | { | ||
566 | dev = fz_new_device(ctx, list); | ||
567 | list = NULL; | ||
564 | 568 | ||
565 | dev->fill_path = fz_list_fill_path; | 569 | dev->begin_page = fz_list_begin_page; |
566 | dev->stroke_path = fz_list_stroke_path; | 570 | dev->end_page = fz_list_end_page; |
567 | dev->clip_path = fz_list_clip_path; | ||
568 | dev->clip_stroke_path = fz_list_clip_stroke_path; | ||
569 | 571 | ||
570 | dev->fill_text = fz_list_fill_text; | 572 | dev->fill_path = fz_list_fill_path; |
571 | dev->stroke_text = fz_list_stroke_text; | 573 | dev->stroke_path = fz_list_stroke_path; |
572 | dev->clip_text = fz_list_clip_text; | 574 | dev->clip_path = fz_list_clip_path; |
573 | dev->clip_stroke_text = fz_list_clip_stroke_text; | 575 | dev->clip_stroke_path = fz_list_clip_stroke_path; |
574 | dev->ignore_text = fz_list_ignore_text; | ||
575 | 576 | ||
576 | dev->fill_shade = fz_list_fill_shade; | 577 | dev->fill_text = fz_list_fill_text; |
577 | dev->fill_image = fz_list_fill_image; | 578 | dev->stroke_text = fz_list_stroke_text; |
578 | dev->fill_image_mask = fz_list_fill_image_mask; | 579 | dev->clip_text = fz_list_clip_text; |
579 | dev->clip_image_mask = fz_list_clip_image_mask; | 580 | dev->clip_stroke_text = fz_list_clip_stroke_text; |
581 | dev->ignore_text = fz_list_ignore_text; | ||
580 | 582 | ||
581 | dev->pop_clip = fz_list_pop_clip; | 583 | dev->fill_shade = fz_list_fill_shade; |
584 | dev->fill_image = fz_list_fill_image; | ||
585 | dev->fill_image_mask = fz_list_fill_image_mask; | ||
586 | dev->clip_image_mask = fz_list_clip_image_mask; | ||
582 | 587 | ||
583 | dev->begin_mask = fz_list_begin_mask; | 588 | dev->pop_clip = fz_list_pop_clip; |
584 | dev->end_mask = fz_list_end_mask; | ||
585 | dev->begin_group = fz_list_begin_group; | ||
586 | dev->end_group = fz_list_end_group; | ||
587 | 589 | ||
588 | dev->begin_tile = fz_list_begin_tile; | 590 | dev->begin_mask = fz_list_begin_mask; |
589 | dev->end_tile = fz_list_end_tile; | 591 | dev->end_mask = fz_list_end_mask; |
592 | dev->begin_group = fz_list_begin_group; | ||
593 | dev->end_group = fz_list_end_group; | ||
594 | |||
595 | dev->begin_tile = fz_list_begin_tile; | ||
596 | dev->end_tile = fz_list_end_tile; | ||
597 | } | ||
598 | fz_catch(ctx) | ||
599 | { | ||
600 | fz_free_device(dev); | ||
601 | fz_drop_display_list(ctx, list); | ||
602 | fz_rethrow(ctx); | ||
603 | } | ||
590 | 604 | ||
591 | return dev; | 605 | return dev; |
592 | } | 606 | } |