From d7d45381c5fc30f44086acf4ce6ae4b881ae7ff4 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Wed, 3 Jul 2013 18:59:16 +0200 Subject: libview: Return NULL instead of empty regions from the pixbuf cache This way we just need to check the pointer returned. origin commit: https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=bf18b54 --- libview/ev-pixbuf-cache.c | 6 ++++-- libview/ev-view.c | 5 ++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/libview/ev-pixbuf-cache.c b/libview/ev-pixbuf-cache.c index c6844f64..5706ab44 100644 --- a/libview/ev-pixbuf-cache.c +++ b/libview/ev-pixbuf-cache.c @@ -1121,7 +1121,8 @@ ev_pixbuf_cache_get_selection_region (EvPixbufCache *pixbuf_cache, * assumption that it'll be updated later and we can scale it as need * be */ if (job_info->job && EV_JOB_RENDER (job_info->job)->include_selection) - return job_info->selection_region; + return job_info->selection_region && !cairo_region_is_empty(job_info->selection_region) ? + job_info->selection_region : NULL; /* Now, lets see if we need to resize the region. If we do, we clear the * old one. */ @@ -1150,7 +1151,8 @@ ev_pixbuf_cache_get_selection_region (EvPixbufCache *pixbuf_cache, g_object_unref (rc); ev_document_doc_mutex_unlock (); } - return job_info->selection_region; + return job_info->selection_region && !cairo_region_is_empty(job_info->selection_region) ? + job_info->selection_region : NULL; } static void diff --git a/libview/ev-view.c b/libview/ev-view.c index f0f24377..4122d391 100644 --- a/libview/ev-view.c +++ b/libview/ev-view.c @@ -7631,9 +7631,8 @@ merge_selection_region (EvView *view, tmp_region = ev_pixbuf_cache_get_selection_region (view->pixbuf_cache, cur_page, view->scale); - if (tmp_region && !cairo_region_is_empty (tmp_region)) { - new_sel->covered_region = cairo_region_reference (tmp_region); - } + if (tmp_region) + new_sel->covered_region = cairo_region_reference (tmp_region); } /* Now we figure out what needs redrawing */ -- cgit v1.2.1