When graphics_adf was refactored in 557fa1f, a class member was introduced
that was not initialized to zero. This meant that the first time Flip()
was called, current_surface would have a junk value and cause a bad
pointer rereference, crashing recovery.
Make sure current_surface is initialized to 0 for the first Flip().
Test: Ran recovery on a device using the ADF backend.
Change-Id: I9b8fac0a4d48cac990e5e9808a071c232de1ebfb
This CL defines minui_backend as an interface, and expresses the three
backends (adf, drm and fbdev) as subclasses to the interface.
Test: 'Run graphics test' on N9, Pixel C and N5X.
Change-Id: I0e23951c7b2e2ff918957a8d9fc8b0085b6e5952
Remove unneeded header includes. Switch a few memset() to '= {}' style.
Otherwise mostly cosmetic changes like reformatting.
Test: 'Run graphics test' on N9 (which is an ADF device).
Change-Id: If008af18ddae9521f53216b581d882d5eed76d41
static_cast is preferable to reinterpret_cast when casting from void*
pointers returned by malloc/calloc/realloc/mmap calls.
Discovered while looking at compiler warnings (b/26936282).
Test: WITH_TIDY=1 WITH_STATIC_ANALYZER=1 mma
Change-Id: Iaffd537784aa857108f6981fdfd82d0496eb5592
Merged-In: I151642d5a60c94f312d0611576ad0143c249ba3d
[root cause ] miniui has no mechanism to protect
the buffer which is displaying
[changes ] recovery
[side effects] ui show
[self test ] sc9850-2 general operation has not display abnormal
[reviewers ] xinglong.zhu
Signed-off-by: xinglong.zhu <xinglong.zhu@spreadtrum.com>
[change_type ] AOB --> google_original
[tag_product ] common
Change-Id: I989a0b2943ff6070a0e98718cfbe95144510d3a2
Some ADF drivers do some amount of state cleanup when the ADF device
node is closed, making and attempts to draw using it fail.
This changes the minui ADF backend to keep the adf_device open until it
is exited, fixing issues on such devices.