fix(canvas) invalidate the image on delete

fixes #2398
This commit is contained in:
Gabor Kiss-Vamosi
2021-08-09 11:23:48 +02:00
parent 3c86d777c1
commit a1b362c986
+11
View File
@@ -27,12 +27,14 @@
* STATIC PROTOTYPES * STATIC PROTOTYPES
**********************/ **********************/
static void lv_canvas_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj); static void lv_canvas_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
static void lv_canvas_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
/********************** /**********************
* STATIC VARIABLES * STATIC VARIABLES
**********************/ **********************/
const lv_obj_class_t lv_canvas_class = { const lv_obj_class_t lv_canvas_class = {
.constructor_cb = lv_canvas_constructor, .constructor_cb = lv_canvas_constructor,
.destructor_cb = lv_canvas_destructor,
.instance_size = sizeof(lv_canvas_t), .instance_size = sizeof(lv_canvas_t),
.base_class = &lv_img_class .base_class = &lv_img_class
}; };
@@ -911,4 +913,13 @@ static void lv_canvas_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj
LV_TRACE_OBJ_CREATE("finished"); LV_TRACE_OBJ_CREATE("finished");
} }
static void lv_canvas_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
{
LV_UNUSED(class_p);
LV_TRACE_OBJ_CREATE("begin");
lv_canvas_t * canvas = (lv_canvas_t *)obj;
lv_img_cache_invalidate_src(&canvas->dsc);
}
#endif #endif