vcl/skia/osx/gdiimpl.cxx | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-)
New commits: commit 863d7317a16bdc5a491a1284386abe3dd1f09469 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Sun May 7 15:13:05 2023 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Sun May 7 17:23:46 2023 +0200 crash seen with empty moLineColor on macOS with skia Change-Id: I260f6bd060b9f1ec3a782ff765b676f78d126d40 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151461 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/vcl/skia/osx/gdiimpl.cxx b/vcl/skia/osx/gdiimpl.cxx index e9c2e67fd1a4..fd0bdca04333 100644 --- a/vcl/skia/osx/gdiimpl.cxx +++ b/vcl/skia/osx/gdiimpl.cxx @@ -241,12 +241,18 @@ bool AquaSkiaSalGraphicsImpl::drawNativeControl(ControlType nType, ControlPart n // Setup context state for drawing (performDrawNativeControl() e.g. fills background in some cases). CGContextSetFillColorSpace(context, GetSalData()->mxRGBSpace); CGContextSetStrokeColorSpace(context, GetSalData()->mxRGBSpace); - RGBAColor lineColor(*moLineColor); - CGContextSetRGBStrokeColor(context, lineColor.GetRed(), lineColor.GetGreen(), - lineColor.GetBlue(), lineColor.GetAlpha()); - RGBAColor fillColor(*moFillColor); - CGContextSetRGBFillColor(context, fillColor.GetRed(), fillColor.GetGreen(), fillColor.GetBlue(), - fillColor.GetAlpha()); + if (moLineColor) + { + RGBAColor lineColor(*moLineColor); + CGContextSetRGBStrokeColor(context, lineColor.GetRed(), lineColor.GetGreen(), + lineColor.GetBlue(), lineColor.GetAlpha()); + } + if (moFillColor) + { + RGBAColor fillColor(*moFillColor); + CGContextSetRGBFillColor(context, fillColor.GetRed(), fillColor.GetGreen(), + fillColor.GetBlue(), fillColor.GetAlpha()); + } // Adjust for our drawn-to coordinates in the bitmap. tools::Rectangle movedRegion(Point(rControlRegion.getX() - boundingRegion.getX(), rControlRegion.getY() - boundingRegion.getY()),