mirror of
https://github.com/lvgl/lvgl.git
synced 2025-01-14 06:42:58 +08:00
Reset flushing after setting the buffer content to fix race condition.
Flushing flag is used to wait for the finish of the transfer. If this is reset to 0, the other parts of the code will start accessing the buf_act (see src/lv_core/lv_refr.c:106) and thus may create a race condition. Exchanging the resetting to 0 and memset will fix this issue.
This commit is contained in:
parent
68c752ab50
commit
6f6c26b058
@ -267,14 +267,14 @@ bool lv_disp_get_antialiasing(lv_disp_t * disp)
|
||||
*/
|
||||
LV_ATTRIBUTE_FLUSH_READY void lv_disp_flush_ready(lv_disp_drv_t * disp_drv)
|
||||
{
|
||||
disp_drv->buffer->flushing = 0;
|
||||
|
||||
/*If the screen is transparent initialize it when the flushing is ready*/
|
||||
#if LV_COLOR_SCREEN_TRANSP
|
||||
if(disp_drv->screen_transp) {
|
||||
memset(disp_drv->buffer->buf_act, 0x00, disp_drv->buffer->size * sizeof(lv_color32_t));
|
||||
}
|
||||
#endif
|
||||
|
||||
disp_drv->buffer->flushing = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user