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:
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) {