From 0468b0e3f15e8fec85ab14ca30796b61827ce918 Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Tue, 8 Oct 2024 08:29:43 +0200 Subject: [PATCH] HASPmota make `delete()` backwards compatible (#22254) --- CHANGELOG.md | 2 +- .../lv_haspmota/src/embedded/lv_haspmota.be | 1 + .../src/solidify/solidified_lv_haspmota.h | 26 ++++++++++++++++--- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c3497842a..752561c26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,11 +11,11 @@ All notable changes to this project will be documented in this file. - Support for DALI 1 on ESP8266 ### Breaking Changed -- HASPmota `delete` instead of `delete()` (#22245) ### Changed - ESP32 platform update from 2024.09.10 to 2024.09.30 and Framework (Arduino Core) from v3.0.5 to v3.1.0.240926 (#22203) - Berry improve `persist` dirty data handling (#22246) +- HASPmota `delete` instead of `delete()` (#22245) ### Fixed - ESP32 Range Extender compile error with core 3.0.0 (#22205) diff --git a/lib/libesp32_lvgl/lv_haspmota/src/embedded/lv_haspmota.be b/lib/libesp32_lvgl/lv_haspmota/src/embedded/lv_haspmota.be index 81f047120..a1fc4b5e1 100644 --- a/lib/libesp32_lvgl/lv_haspmota/src/embedded/lv_haspmota.be +++ b/lib/libesp32_lvgl/lv_haspmota/src/embedded/lv_haspmota.be @@ -133,6 +133,7 @@ class lvh_root end def get_delete() self._delete() + return def () end end def _delete() # to be overriden diff --git a/lib/libesp32_lvgl/lv_haspmota/src/solidify/solidified_lv_haspmota.h b/lib/libesp32_lvgl/lv_haspmota/src/solidify/solidified_lv_haspmota.h index 43807ced9..059ac6950 100644 --- a/lib/libesp32_lvgl/lv_haspmota/src/solidify/solidified_lv_haspmota.h +++ b/lib/libesp32_lvgl/lv_haspmota/src/solidify/solidified_lv_haspmota.h @@ -345,16 +345,34 @@ be_local_closure(class_lvh_root_get_delete, /* name */ 10, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 1]) { + be_nested_proto( + 0, /* nstack */ + 0, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(_anonymous_), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ), + }), 1, /* has constants */ &be_ktab_class_lvh_root, /* shared constants */ be_str_weak(get_delete), &be_const_str_solidified, - ( &(const binstruction[ 3]) { /* code */ + ( &(const binstruction[ 4]) { /* code */ 0x8C040119, // 0000 GETMET R1 R0 K25 0x7C040200, // 0001 CALL R1 1 - 0x80000000, // 0002 RET 0 + 0x84040000, // 0002 CLOSURE R1 P0 + 0x80040200, // 0003 RET 1 R1 }) ) );