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

Commit 6656dbc8 authored by Mathias Agopian's avatar Mathias Agopian
Browse files

invalidate the surface when the physical changes

parent 7e4a587f
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -330,10 +330,6 @@ uint32_t Layer::doTransaction(uint32_t flags)
                    int(mBuffers[0]->getWidth()), int(mBuffers[0]->getHeight()),
                    int(mBuffers[1]->getWidth()), int(mBuffers[1]->getHeight()));

        // record the new size, form this point on, when the client request a
        // buffer, it'll get the new size.
        setDrawingSize(temp.requested_w, temp.requested_h);

        // we're being resized and there is a freeze display request,
        // acquire a freeze lock, so that the screen stays put
        // until we've redrawn at the new size; this is to avoid
@@ -346,9 +342,10 @@ uint32_t Layer::doTransaction(uint32_t flags)
            }
        }

        // recompute the visible region
        flags |= Layer::eVisibleRegion;
        this->contentDirty = true;
        // record the new size, form this point on, when the client request a
        // buffer, it'll get the new size.
        setDrawingSize(temp.requested_w, temp.requested_h);

        // all buffers need reallocation
        lcblk->reallocate();
    }
+6 −0
Original line number Diff line number Diff line
@@ -202,6 +202,12 @@ uint32_t LayerBase::doTransaction(uint32_t flags)
        editTemp.h = temp.requested_h;
    }

    if ((front.w != temp.w) || (front.h != temp.h)) {
        // invalidate and recompute the visible regions if needed
        flags |= Layer::eVisibleRegion;
        this->contentDirty = true;
    }

    if (temp.sequence != front.sequence) {
        // invalidate and recompute the visible regions if needed
        flags |= eVisibleRegion;