diff --git a/CHANGELOG.md b/CHANGELOG.md index 341358def..98cba4534 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,11 @@ project adheres to [Semantic Versioning](http://semver.org/). ### Added ### Fixed +3.1.2 +================== +### Fixed +* Fix crash when setting width/height on PDF, SVG canvas (#2520) + 3.1.1 ================== ### Fixed diff --git a/package.json b/package.json index bf4eaaf9b..5ad174990 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "canvas", "description": "Canvas graphics API backed by Cairo", - "version": "3.1.1", + "version": "3.1.2", "author": "TJ Holowaychuk ", "main": "index.js", "browser": "browser.js", diff --git a/src/backend/PdfBackend.cc b/src/backend/PdfBackend.cc index 5c1e8fa5b..4eb46168c 100644 --- a/src/backend/PdfBackend.cc +++ b/src/backend/PdfBackend.cc @@ -22,6 +22,7 @@ cairo_surface_t* PdfBackend::ensureSurface() { void PdfBackend::destroySurface() { if (surface) { + cairo_surface_finish(surface); cairo_surface_destroy(surface); surface = nullptr; assert(_closure); diff --git a/src/backend/SvgBackend.cc b/src/backend/SvgBackend.cc index f4bf2b9c3..475c07dea 100644 --- a/src/backend/SvgBackend.cc +++ b/src/backend/SvgBackend.cc @@ -26,6 +26,7 @@ cairo_surface_t* SvgBackend::ensureSurface() { void SvgBackend::destroySurface() { if (surface) { + cairo_surface_finish(surface); cairo_surface_destroy(surface); surface = nullptr; assert(_closure);