diff options
| -rw-r--r-- | libs/androidfw/Idmap.cpp | 2 | ||||
| -rw-r--r-- | libs/androidfw/include/androidfw/ResourceTypes.h | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/libs/androidfw/Idmap.cpp b/libs/androidfw/Idmap.cpp index eb6ee9525bb9..5f231ffe4786 100644 --- a/libs/androidfw/Idmap.cpp +++ b/libs/androidfw/Idmap.cpp @@ -157,7 +157,7 @@ IdmapResMap::Result IdmapResMap::Lookup(uint32_t target_res_id) const { table_value->dataType = entry->type; table_value->data = entry->value; - return Result(ResTable_entry_handle::managed(table_entry)); + return Result(ResTable_entry_handle::managed(table_entry, [](auto p) { free(p); })); } static bool is_word_aligned(const void* data) { diff --git a/libs/androidfw/include/androidfw/ResourceTypes.h b/libs/androidfw/include/androidfw/ResourceTypes.h index 21be81cb85bd..e351a46d633a 100644 --- a/libs/androidfw/include/androidfw/ResourceTypes.h +++ b/libs/androidfw/include/androidfw/ResourceTypes.h @@ -1601,8 +1601,8 @@ class ResTable_entry_handle { entry_ = handle.entry_; } - inline static ResTable_entry_handle managed(ResTable_entry* entry) { - return ResTable_entry_handle(std::shared_ptr<const ResTable_entry>(entry)); + inline static ResTable_entry_handle managed(ResTable_entry* entry, void (*deleter)(void *)) { + return ResTable_entry_handle(std::shared_ptr<const ResTable_entry>(entry, deleter)); } inline static ResTable_entry_handle unmanaged(const ResTable_entry* entry) { |