vcl/skia/SkiaHelper.cxx | 5 +++++
1 file changed, 5 insertions(+)
New commits:
commit bc3376e82baf9d6a8000a40b34a9ec0cb788f585
Author: Mike Kaganski <[email protected]>
AuthorDate: Mon Feb 9 14:50:16 2026 +0100
Commit: Mike Kaganski <[email protected]>
CommitDate: Mon Feb 9 17:09:53 2026 +0100
tdf#170682: Use Skia/raster in safe mode on Windows and macOS
After commits 07f480b7c85ccd7492428d5da96d68602c516eb8 (make skia
mandatory on MS-Windows, disable GDI backend, 2025-07-03) and
e7bd446baa292b65c8b0141f404ce9b684b0abff (tdf#167642 Restart in
safe mode doesn't launch safe mode on macOS, 2025-07-25), Skia is
enabled in safe mode on these platforms. After enabling it, there
was no code to handle safe mode - so initRenderMethodToUse would
enable HW acceleration (and potentially crash, if the reason to
start safe mode was crash caused by Vulkan / Metal).
This change returns RenderRaster from initRenderMethodToUse in
safe mode on these platforms.
Change-Id: Ie80938f28985cb60e3936f274f26c3dcfa838616
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198993
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <[email protected]>
diff --git a/vcl/skia/SkiaHelper.cxx b/vcl/skia/SkiaHelper.cxx
index 89ad0e014e67..cc84c26e1d21 100644
--- a/vcl/skia/SkiaHelper.cxx
+++ b/vcl/skia/SkiaHelper.cxx
@@ -244,6 +244,11 @@ static RenderMethod initRenderMethodToUse()
{
if (Application::IsBitmapRendering())
return RenderRaster;
+#if defined(MACOSX) || defined(_WIN32)
+ // macOS/win can __only__ render via skia - there, we can only disable HW
acceleration
+ if (Application::IsSafeModeEnabled())
+ return RenderRaster;
+#endif
if (const char* env = getenv("SAL_SKIA"))
{