Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec83bd15 authored by Chris Craik's avatar Chris Craik Committed by android-build-merger
Browse files

Merge \"Avoid throwing when 0 size layer requested\" into nyc-mr1-dev

am: 272b8279

Change-Id: Ibd3f90aea167b7ee0e1f9add327a651ba94c7883
parents 6ab97e58 272b8279
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -301,7 +301,10 @@ void RenderNode::pushLayerUpdate(TreeInfo& info) {
    LayerType layerType = properties().effectiveLayerType();
    // If we are not a layer OR we cannot be rendered (eg, view was detached)
    // we need to destroy any Layers we may have had previously
    if (CC_LIKELY(layerType != LayerType::RenderLayer) || CC_UNLIKELY(!isRenderable())) {
    if (CC_LIKELY(layerType != LayerType::RenderLayer)
            || CC_UNLIKELY(!isRenderable())
            || CC_UNLIKELY(properties().getWidth() == 0)
            || CC_UNLIKELY(properties().getHeight() == 0)) {
        if (CC_UNLIKELY(mLayer)) {
            destroyLayer(mLayer);
            mLayer = nullptr;
+1 −3
Original line number Diff line number Diff line
@@ -611,9 +611,7 @@ public:
    bool fitsOnLayer() const {
        const DeviceInfo* deviceInfo = DeviceInfo::get();
        return mPrimitiveFields.mWidth <= deviceInfo->maxTextureSize()
                        && mPrimitiveFields.mHeight <= deviceInfo->maxTextureSize()
                        && mPrimitiveFields.mWidth > 0
                        && mPrimitiveFields.mHeight > 0;
                        && mPrimitiveFields.mHeight <= deviceInfo->maxTextureSize();
    }

    bool promotedToLayer() const {
+2 −2
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ TEST(RenderProperties, layerValidity) {
    props.setLeftTopRightBottom(0, 0, maxTextureSize + 1, maxTextureSize + 1);
    ASSERT_FALSE(props.fitsOnLayer());

    // Too small - can't have 0 dimen layer
    // Too small, but still 'fits'. Not fitting is an error case, so don't report empty as such.
    props.setLeftTopRightBottom(0, 0, 100, 0);
    ASSERT_FALSE(props.fitsOnLayer());
    ASSERT_TRUE(props.fitsOnLayer());
}