talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit e23f673a0502758709004e63460bc6d1da10c75d
parent 78126ed2ffa2831881926b10a3f51283028cdd07
Author: Michael Rasmussen <mir@datanom.net>
Date:   Tue,  9 Mar 2021 08:33:56 +0100

Merge branch 'master' into oauth2

Diffstat:
Mconfigure.ac | 2+-
Msrc/gtk/gtkcmctree.c | 21++++++++++++++++++++-
Msrc/plugins/pgpcore/pgp_viewer.c | 2+-
3 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/configure.ac b/configure.ac @@ -1234,7 +1234,7 @@ AC_SUBST(GDATA_CFLAGS) AC_SUBST(GDATA_LIBS) dnl cairo ********************************************************************** -PKG_CHECK_MODULES(CAIRO, cairo, HAVE_CAIRO=yes, HAVE_CAIRO=no) +PKG_CHECK_MODULES(CAIRO, cairo >= 1.12.0, HAVE_CAIRO=yes, HAVE_CAIRO=no) AC_SUBST(CAIRO_CFLAGS) AC_SUBST(CAIRO_LIBS) diff --git a/src/gtk/gtkcmctree.c b/src/gtk/gtkcmctree.c @@ -599,6 +599,8 @@ draw_row (GtkCMCList *clist, static GdkColor greybg={0, 0, 0, 0}; static gboolean color_change = TRUE; cairo_t *cr; + cairo_t *cr_hw; + cairo_surface_t *image_surface; GdkColor *fgcolor, *bgcolor; cm_return_if_fail (clist != NULL); @@ -667,7 +669,12 @@ draw_row (GtkCMCList *clist, } state = clist_row->state; - cr = gdk_cairo_create(clist->clist_window); + cr_hw = gdk_cairo_create(clist->clist_window); + image_surface = cairo_surface_create_similar_image(cairo_get_target(cr_hw), + CAIRO_FORMAT_RGB24, + gdk_window_get_width(clist->clist_window), + gdk_window_get_height(clist->clist_window)); + cr = cairo_create(image_surface); if (clist_row->fg_set && state != GTK_STATE_SELECTED) fgcolor = &clist_row->foreground; @@ -937,7 +944,19 @@ draw_row (GtkCMCList *clist, cairo_stroke(cr); } } + + cairo_set_operator(cr_hw, CAIRO_OPERATOR_SOURCE); + cairo_set_source_surface(cr_hw, image_surface, 0, 0); + cairo_rectangle(cr_hw, + row_rectangle.x, + row_rectangle.y - CELL_SPACING, + row_rectangle.width, + row_rectangle.height + CELL_SPACING * 2); + cairo_fill(cr_hw); + cairo_destroy(cr); + cairo_surface_destroy(image_surface); + cairo_destroy(cr_hw); } static void diff --git a/src/plugins/pgpcore/pgp_viewer.c b/src/plugins/pgpcore/pgp_viewer.c @@ -254,7 +254,7 @@ static void pgpview_show_mime_part(TextView *textview, MimeInfo *partinfo) ctx->done = FALSE; ctx->exitcode = STILL_ACTIVE; - ctx->cmd = (val == G_ALERTOTHER)? cmd_wks : cmd_ks; + ctx->cmd = (val == G_ALERTOTHER)? cmd_wkd : cmd_ks; if (pthread_create(&pt, NULL, _import_threaded, (void *)ctx) != 0) {