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

Skip to content
Commit 10750526 authored by JihCheng Chiu's avatar JihCheng Chiu Committed by chuanghua zhao
Browse files

fix segmentation fault of GraphicsComposerAidlCommandTest

When we run the VTS of GraphicsComposerAidlCommandTest, we always meet
segmentation fault issue in some test items. VTS test items crashed
when it deleted the layer or display from resource manager and try to
go next loop.
The problem is the test item try to delete the layer iterator or
display iterator in the loop, so the iterator become an invalid
iterator. Then it try to use the invalid iterator for going to next
iterator. This behavior caused segmentation fault. We use different
way to fix deleting layer and deleting display.
Delete layer: Test item always delete all layer for each display, so
              we always delete layer via get the first iterator until
              the resource manager is empty.
Delete display: Test item only delete virtual display, so we move the
                physical display to a temporary map. After delete all
                virtual display, we swap the temporary map and
                original map.

Bug: 243781450
Test: 1. test GraphicsComposerAidlCommandTest.SetLayerColorTransform
         for deleting layer
      2. test GraphicsComposerAidlCommandTest.SetOutputBuffer
         for deleting disply

Change-Id: Id467df658e78ed29fdfc039cabc119f8bf62d69d
parent f9daf08b
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment