From de3be515124933799aa2d214ee3ee240947616b8 Mon Sep 17 00:00:00 2001 From: JP Cimalando Date: Fri, 8 Feb 2019 13:21:18 +0100 Subject: [PATCH] Handle the case of ImageCairo self-assignment --- dgl/src/Image.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dgl/src/Image.cpp b/dgl/src/Image.cpp index cd37b8c2..a9909361 100644 --- a/dgl/src/Image.cpp +++ b/dgl/src/Image.cpp @@ -290,9 +290,9 @@ uint ImageCairo::getStride() const noexcept ImageCairo& ImageCairo::operator=(const ImageCairo& image) noexcept { - cairo_surface_t* surface = image.fSurface; + cairo_surface_t* surface = cairo_surface_reference(image.fSurface); cairo_surface_destroy(fSurface); - fSurface = cairo_surface_reference(surface); + fSurface = surface; fRawData = (const char*)cairo_image_surface_get_data(surface); fSize.setWidth(cairo_image_surface_get_width(surface));