summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2022-10-09 17:42:55 +0200
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2022-10-09 17:43:06 +0200
commit1a5d6572e9a699699fba3e9eb5ebbcb18f04994c (patch)
tree3276a99aa75608ee3611bda65daf773c829003d2 /src/drivers
parent4d17cf310dc953703bf3a60763b681eb217bc3e9 (diff)
Fix issue #510: image transparency is not properly processed.
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx
index ebe7c515a..48c6120c6 100644
--- a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx
+++ b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx
@@ -778,7 +778,8 @@ void Fl_Cairo_Graphics_Driver::draw_cached_pattern_(Fl_Image *img, cairo_pattern
cairo_matrix_init_scale(&matrix, double(img->data_w())/Ws, double(img->data_h())/Hs);
cairo_matrix_translate(&matrix, -Xs + offset, -Ys + offset);
cairo_pattern_set_matrix(pat, &matrix);
- cairo_mask(cairo_, pat);
+ if (img->d() >= 1) cairo_paint(cairo_);
+ else cairo_mask(cairo_, pat);
cairo_restore(cairo_);
surface_needs_commit();
}