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

Commit b0610335 authored by Mathias Agopian's avatar Mathias Agopian
Browse files

Fix screenshots

Change-Id: If904634e64b154bbe336d5789dd1209b8ae871fb
parent 59887ec1
Loading
Loading
Loading
Loading
+13 −7
Original line number Diff line number Diff line
@@ -2211,6 +2211,8 @@ status_t SurfaceFlinger::captureScreenImplLocked(DisplayID dpy,
    const size_t count = layers.size();
    for (size_t i=0 ; i<count ; ++i) {
        const sp<LayerBase>& layer(layers[i]);
        const uint32_t flags = layer->drawingState().flags;
        if (!(flags & ISurfaceComposer::eLayerHidden)) {
            const uint32_t z = layer->drawingState().z;
            if (z >= minLayerZ && z <= maxLayerZ) {
                if (layer->isProtected()) {
@@ -2218,6 +2220,7 @@ status_t SurfaceFlinger::captureScreenImplLocked(DisplayID dpy,
                }
            }
        }
    }

    if (!GLExtensions::getInstance().haveFramebufferObject())
        return INVALID_OPERATION;
@@ -2270,11 +2273,14 @@ status_t SurfaceFlinger::captureScreenImplLocked(DisplayID dpy,

        for (size_t i=0 ; i<count ; ++i) {
            const sp<LayerBase>& layer(layers[i]);
            const uint32_t flags = layer->drawingState().flags;
            if (!(flags & ISurfaceComposer::eLayerHidden)) {
                const uint32_t z = layer->drawingState().z;
                if (z >= minLayerZ && z <= maxLayerZ) {
                    layer->drawForSreenShot();
                }
            }
        }

        // XXX: this is needed on tegra
        glEnable(GL_SCISSOR_TEST);