diff --git a/src/ui.rs b/src/ui.rs index b726da8..f4811c3 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -473,6 +473,7 @@ fn handle_cache_response(ui: Rc>, cache_response: CacheResponse) { } image_left.set_paintable(Some(page.as_ref())); + image_left.queue_draw(); if canvas.num_pages.unwrap_or(0) > 1 { // Make image invisible but keep free space in layout image_right.set_opacity(0.0); @@ -499,13 +500,21 @@ fn handle_cache_response(ui: Rc>, cache_response: CacheResponse) { image_right.set_paintable(Some(page_right.as_ref())); image_right.set_visible(true); image_right.set_opacity(1.0); + + image_left.queue_draw(); + image_right.queue_draw(); + canvas.cache_surrounding_pages(area_height); } cache::CacheResponse::PageResolutionUpgraded { page_number, page } => { if canvas.is_left_page(page_number) { image_left.set_paintable(Some(page.as_ref())); + + image_left.queue_draw(); } else if canvas.is_right_page(page_number) { image_right.set_paintable(Some(page.as_ref())); + + image_right.queue_draw(); } } }