Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/xwt.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hutchinson <m.j.hutchinson@gmail.com>2014-01-17 01:28:38 +0400
committerMichael Hutchinson <m.j.hutchinson@gmail.com>2014-01-17 01:29:03 +0400
commitb696b969d9d12b63794dbe4efe0afaf7152bb8d4 (patch)
treea27f78c5688177d69f2c8d4938add7da0a1a2957 /Xwt.Gtk
parentbae32617b6e8f2697b63a91eb98ad8a1e5d1df7d (diff)
[Gtk] Fix Cairo pattern leak
Diffstat (limited to 'Xwt.Gtk')
-rw-r--r--Xwt.Gtk/Xwt.GtkBackend/ImageHandler.cs12
1 files changed, 7 insertions, 5 deletions
diff --git a/Xwt.Gtk/Xwt.GtkBackend/ImageHandler.cs b/Xwt.Gtk/Xwt.GtkBackend/ImageHandler.cs
index f60e8f04..2dc9ba4f 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/ImageHandler.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/ImageHandler.cs
@@ -401,11 +401,13 @@ namespace Xwt.GtkBackend
Gdk.CairoHelper.SetSourcePixbuf (ctx, img, 0, 0);
#pragma warning disable 618
- if (idesc.Size.Width > img.Width || idesc.Size.Height > img.Height) {
- // Fixes blur issue when rendering on an image surface
- ((Cairo.SurfacePattern)ctx.Source).Filter = Cairo.Filter.Fast;
- } else
- ((Cairo.SurfacePattern)ctx.Source).Filter = Cairo.Filter.Good;
+ using (var pattern = (Cairo.SurfacePattern)ctx.Source) {
+ if (idesc.Size.Width > img.Width || idesc.Size.Height > img.Height) {
+ // Fixes blur issue when rendering on an image surface
+ pattern.Filter = Cairo.Filter.Fast;
+ } else
+ pattern.Filter = Cairo.Filter.Good;
+ }
#pragma warning restore 618
if (idesc.Alpha >= 1)