Browse Source

CGMetalLayerRenderer: Avoid creating resources for zero-size layers

v7.0.9
reuk 2 years ago
parent
commit
1de392bbab
No known key found for this signature in database GPG Key ID: FCB43929F012EE5C
1 changed files with 3 additions and 3 deletions
  1. +3
    -3
      modules/juce_gui_basics/native/juce_CGMetalLayerRenderer_mac.h

+ 3
- 3
modules/juce_gui_basics/native/juce_CGMetalLayerRenderer_mac.h View File

@@ -82,6 +82,9 @@ public:
const auto drawableSizeTransform = CGAffineTransformMakeScale (layer.contentsScale, layer.contentsScale); const auto drawableSizeTransform = CGAffineTransformMakeScale (layer.contentsScale, layer.contentsScale);
const auto transformedFrameSize = CGSizeApplyAffineTransform (layer.bounds.size, drawableSizeTransform); const auto transformedFrameSize = CGSizeApplyAffineTransform (layer.bounds.size, drawableSizeTransform);
if (CGSizeEqualToSize (transformedFrameSize, CGSizeZero))
return dirtyRegions;
if (resources == nullptr || ! CGSizeEqualToSize (layer.drawableSize, transformedFrameSize)) if (resources == nullptr || ! CGSizeEqualToSize (layer.drawableSize, transformedFrameSize))
{ {
layer.drawableSize = transformedFrameSize; layer.drawableSize = transformedFrameSize;
@@ -90,9 +93,6 @@ public:
dirtyRegions.add (convertToRectFloat (layer.bounds)); dirtyRegions.add (convertToRectFloat (layer.bounds));
} }
if (CGSizeEqualToSize (transformedFrameSize, CGSizeZero))
return dirtyRegions;
auto gpuTexture = resources->getGpuTexture(); auto gpuTexture = resources->getGpuTexture();
if (gpuTexture == nullptr) if (gpuTexture == nullptr)


Loading…
Cancel
Save