From 1de392bbab873e2f401f4aeaba9fb9479d07301f Mon Sep 17 00:00:00 2001 From: reuk Date: Wed, 19 Apr 2023 11:07:47 +0100 Subject: [PATCH] CGMetalLayerRenderer: Avoid creating resources for zero-size layers --- .../juce_gui_basics/native/juce_CGMetalLayerRenderer_mac.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/juce_gui_basics/native/juce_CGMetalLayerRenderer_mac.h b/modules/juce_gui_basics/native/juce_CGMetalLayerRenderer_mac.h index de0949776c..7b4ef90e90 100644 --- a/modules/juce_gui_basics/native/juce_CGMetalLayerRenderer_mac.h +++ b/modules/juce_gui_basics/native/juce_CGMetalLayerRenderer_mac.h @@ -82,6 +82,9 @@ public: const auto drawableSizeTransform = CGAffineTransformMakeScale (layer.contentsScale, layer.contentsScale); const auto transformedFrameSize = CGSizeApplyAffineTransform (layer.bounds.size, drawableSizeTransform); + if (CGSizeEqualToSize (transformedFrameSize, CGSizeZero)) + return dirtyRegions; + if (resources == nullptr || ! CGSizeEqualToSize (layer.drawableSize, transformedFrameSize)) { layer.drawableSize = transformedFrameSize; @@ -90,9 +93,6 @@ public: dirtyRegions.add (convertToRectFloat (layer.bounds)); } - if (CGSizeEqualToSize (transformedFrameSize, CGSizeZero)) - return dirtyRegions; - auto gpuTexture = resources->getGpuTexture(); if (gpuTexture == nullptr)