Bug 4450 - Double-buffer row drawing in gtkcmctree
Summary: Double-buffer row drawing in gtkcmctree
Status: RESOLVED FIXED
Alias: None
Product: Claws Mail (GTK 2)
Classification: Unclassified
Component: UI (show other bugs)
Version: 3.17.8
Hardware: PC Windows 10
: P3 enhancement
Assignee: users
URL:
Depends on:
Blocks:
 
Reported: 2021-03-01 08:52 UTC by Jonathan Boeing
Modified: 2021-03-09 08:34 UTC (History)
0 users

See Also:


Attachments
Double-buffer row drawing in gtkcmctree (2.63 KB, patch)
2021-03-01 08:52 UTC, Jonathan Boeing
no flags Details | Diff

Description Jonathan Boeing 2021-03-01 08:52:43 UTC
Created attachment 2181 [details]
Double-buffer row drawing in gtkcmctree

Here's a patch to double-buffer cairo drawing in draw_row() in src/gtk/gtkcmctree.c  It fixes the slowness seen when redrawing the folder tree with cairo > 1.10 on Windows.  It also improves the occasionally visible flickering in the folder tree on Linux and Windows with older versions of cairo.

Originally, cairo_t *cr was the cairo context for drawing directly to hardware.  With this patch, the context for drawing to actual hardware is now cairo_t *cr_hw.  cairo_t *cr has been repurposed for drawing to an in-memory cairo image surface.
Comment 1 Paul 2021-03-09 08:34:02 UTC
applied, pushed. thanks

Note You need to log in before you can comment on or make changes to this bug.