summaryrefslogtreecommitdiff
path: root/notification-ex/group_item.cc
diff options
context:
space:
mode:
Diffstat (limited to 'notification-ex/group_item.cc')
-rw-r--r--notification-ex/group_item.cc9
1 files changed, 4 insertions, 5 deletions
diff --git a/notification-ex/group_item.cc b/notification-ex/group_item.cc
index 451a018..f3fa086 100644
--- a/notification-ex/group_item.cc
+++ b/notification-ex/group_item.cc
@@ -73,8 +73,7 @@ Bundle GroupItem::Serialize() {
Bundle serialized = i.get()->Serialize();
serialized.Add(
GROUP_CHILDREN_TYPE_KEY, to_string((int)i.get()->GetType()));
- char* str = strdup(reinterpret_cast<char*>(serialized.ToRaw().first.get()));
- arr.push_back(str);
+ arr.push_back(reinterpret_cast<char*>(serialized.ToRaw().first.get()));
}
b.Add(GROUP_CHILDREN_KEY, arr);
@@ -103,12 +102,12 @@ void GroupItem::Deserialize(Bundle b) {
}
}
-shared_ptr<AbstractItem> GroupItem::FindByID(std::string id) {
+AbstractItem& GroupItem::FindByID(std::string id) {
for (auto& i : impl_->children_list_) {
if (i.get()->GetId() == id)
- return i;
+ return *i;
}
- return nullptr;
+ return ItemFactory::GetNullItem();
}
void GroupItem::AddChild(shared_ptr<AbstractItem> child) {