summaryrefslogtreecommitdiff
path: root/libview
diff options
context:
space:
mode:
Diffstat (limited to 'libview')
-rw-r--r--libview/ev-view.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/libview/ev-view.c b/libview/ev-view.c
index 12b5a548..b4755494 100644
--- a/libview/ev-view.c
+++ b/libview/ev-view.c
@@ -7598,11 +7598,10 @@ merge_selection_region (EvView *view,
/* Now we figure out what needs redrawing */
if (old_sel && new_sel) {
if (old_sel->covered_region && new_sel->covered_region) {
- /* We only want to redraw the areas that have
- * changed, so we xor the old and new regions
- * and redraw if it's different */
+ /* Anything that was previously or currently selected may
+ * have changed */
region = cairo_region_copy (old_sel->covered_region);
- cairo_region_xor (region, new_sel->covered_region);
+ cairo_region_union (region, new_sel->covered_region);
if (cairo_region_is_empty (region)) {
cairo_region_destroy (region);