app: fix gimp_display_shell_render() to draw alpha correctly

Drawing the image needs to replace the render cache's alpha, so draw
with CAIRO_OPERATOR_SOURCE.
This commit is contained in:
Michael Natterer 2019-07-16 23:16:27 +02:00
parent 85cf3630c2
commit 2061cc0077
1 changed files with 5 additions and 0 deletions

View File

@ -425,9 +425,14 @@ gimp_display_shell_render (GimpDisplayShell *shell,
cairo_surface_mark_dirty (shell->render_surface);
/* SOURCE so the destination's alpha is replaced */
cairo_set_operator (my_cr, CAIRO_OPERATOR_SOURCE);
cairo_set_source_surface (my_cr, shell->render_surface, x, y);
cairo_paint (my_cr);
cairo_set_operator (my_cr, CAIRO_OPERATOR_OVER);
if (shell->mask)
{
if (! shell->mask_surface)