Skip to content

Commit 96d6d35

Browse files
authored
Merge pull request #352 from liamHowatt/fix/leading-underscore-structs
fix: check structs for alternative name in JSON
2 parents d582e85 + 1fa1479 commit 96d6d35

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

gen/gen_mpy.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1871,6 +1871,12 @@ def get_user_data(func, func_name = None, containing_struct = None, containing_s
18711871
# print('/* --> callback: user_data=%s user_data_found=%s containing_struct=%s */' % (user_data, user_data_found, containing_struct))
18721872
if not user_data_found and lvgl_json is not None:
18731873
containing_struct_j = next((struct for struct in lvgl_json["structures"] if struct["name"] == struct_arg_type_name), None)
1874+
if (containing_struct_j is None
1875+
and struct_arg_type_name.startswith("lv_")
1876+
and None is not next((fwd_decl for fwd_decl in lvgl_json["forward_decls"] if fwd_decl["name"] == struct_arg_type_name), None)
1877+
):
1878+
struct_arg_type_name_with_underscore = "_" + struct_arg_type_name
1879+
containing_struct_j = next((struct for struct in lvgl_json["structures"] if struct["name"] == struct_arg_type_name_with_underscore), None)
18741880
if containing_struct_j is not None:
18751881
user_data_found = any(user_data == field["name"] for field in containing_struct_j["fields"])
18761882
return (user_data if user_data_found else None), *get_user_data_accessors(containing_struct, containing_struct_name)

0 commit comments

Comments
 (0)