Force queue gtk page redraw

This hopefully solves the rendering issues
This commit is contained in:
Julian Mutter 2025-01-10 22:23:51 +01:00
parent 76512404e1
commit a00eade3bb

View File

@ -473,6 +473,7 @@ fn handle_cache_response(ui: Rc<RefCell<Ui>>, 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<RefCell<Ui>>, 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();
}
}
}