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

Commit 769ab6f9 authored by Kevin DuBois's avatar Kevin DuBois
Browse files

SF: do not extend DisplayDevice lifetime

DisplayDevice lifetime was extended, resulting in stack corruption
due to lifetime issue

Fixes: 135211720
Test: 1h45m continual rotation with PIP video playing without crashing
Test: Functional testing to make sure b/132394665 is still fixed.
Change-Id: I1c4b3946a6da7994ff442a2345c1c878aa899ee4
parent 5d493181
Loading
Loading
Loading
Loading
+13 −3
Original line number Original line Diff line number Diff line
@@ -342,9 +342,19 @@ void RegionSamplingThread::captureSample() {
    }
    }


    const auto device = mFlinger.getDefaultDisplayDevice();
    const auto device = mFlinger.getDefaultDisplayDevice();
    const auto display = device->getCompositionDisplay();
    const auto orientation = [](uint32_t orientation) {
    const auto state = display->getState();
        switch (orientation) {
    const auto orientation = static_cast<ui::Transform::orientation_flags>(state.orientation);
            default:
            case DisplayState::eOrientationDefault:
                return ui::Transform::ROT_0;
            case DisplayState::eOrientation90:
                return ui::Transform::ROT_90;
            case DisplayState::eOrientation180:
                return ui::Transform::ROT_180;
            case DisplayState::eOrientation270:
                return ui::Transform::ROT_270;
        }
    }(device->getOrientation());


    std::vector<RegionSamplingThread::Descriptor> descriptors;
    std::vector<RegionSamplingThread::Descriptor> descriptors;
    Region sampleRegion;
    Region sampleRegion;