diff --git a/docs/changes.md b/docs/changes.md index ce9847096..26d9ebc49 100644 --- a/docs/changes.md +++ b/docs/changes.md @@ -5,6 +5,7 @@ * 修复拼写错误(感谢兆坤提供补丁) * edit_ex 增加奇数项和偶数项的样式设置(感谢兆坤提供补丁) * 完善 conf_ubjson (感谢林福提供补丁) + * 修改lcd_mem_flush里面拷贝逻辑,应该是按照online的脏矩形拷贝才对态(感谢智明提供补丁) 2025/02/14 * endian类增加了小端的支持和修改了注释(增加测试用例)(感谢智明提供补丁) diff --git a/src/lcd/lcd_mem.inc b/src/lcd/lcd_mem.inc index 8794b5bc5..24843dd39 100644 --- a/src/lcd/lcd_mem.inc +++ b/src/lcd/lcd_mem.inc @@ -602,7 +602,7 @@ static ret_t lcd_mem_flush(lcd_t* lcd) { const dirty_rects_t* dirty_rects; lcd_mem_t* mem = (lcd_mem_t*)lcd; system_info_t* info = system_info(); - uint8_t* fb = lcd_mem_get_offline_fb(mem); + uint8_t* fb = lcd_mem_get_online_fb(mem); lcd_orientation_t o = info->lcd_orientation; lcd_mem_init_drawing_fb(lcd, &offline_fb); @@ -649,6 +649,7 @@ static ret_t lcd_mem_flush(lcd_t* lcd) { } } } + lcd_fb_dirty_rects_reset_dirty_rects_by_fb(&(mem->fb_dirty_rects_list), fb); return RET_OK; }