diff options
author | Carlos Garcia Campos <[email protected]> | 2013-07-03 18:59:16 +0200 |
---|---|---|
committer | raveit65 <[email protected]> | 2017-09-06 18:25:34 +0200 |
commit | d7d45381c5fc30f44086acf4ce6ae4b881ae7ff4 (patch) | |
tree | 1e0344a1a59d2f1285a2c5152bb6b5b27c4bbfce | |
parent | 4eb7cc70ec92ea11d7facd0e7f8c4556fd9f1746 (diff) | |
download | atril-d7d45381c5fc30f44086acf4ce6ae4b881ae7ff4.tar.bz2 atril-d7d45381c5fc30f44086acf4ce6ae4b881ae7ff4.tar.xz |
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
-rw-r--r-- | libview/ev-pixbuf-cache.c | 6 | ||||
-rw-r--r-- | 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 */ |