Skip to content

Commit db17adf

Browse files
committed
Use unique_ptr for status icons
1 parent d6b16fb commit db17adf

2 files changed

Lines changed: 6 additions & 9 deletions

File tree

src/displayapp/screens/Pawn.cpp

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -296,10 +296,10 @@ static cell AMX_NATIVE_CALL F_read_datetime_short_str(AMX* amx, const cell* para
296296
static cell AMX_NATIVE_CALL F_status_icons_create(AMX* amx, const cell*) {
297297
Pawn* pawn = PAWN_INST;
298298

299-
if (pawn->statusIcons == nullptr) {
300-
pawn->statusIcons = new Pinetime::Applications::Widgets::StatusIcons(pawn->controllers.batteryController,
301-
pawn->controllers.bleController,
302-
pawn->controllers.alarmController);
299+
if (!pawn->statusIcons) {
300+
pawn->statusIcons = std::make_unique<Pinetime::Applications::Widgets::StatusIcons>(pawn->controllers.batteryController,
301+
pawn->controllers.bleController,
302+
pawn->controllers.alarmController);
303303
pawn->statusIcons->Create();
304304
}
305305

@@ -612,10 +612,7 @@ void Pawn::CleanUI() {
612612
taskRefresh = nullptr;
613613
}
614614

615-
if (statusIcons) {
616-
delete statusIcons;
617-
statusIcons = nullptr;
618-
}
615+
statusIcons.reset();
619616

620617
lv_obj_clean(lv_scr_act());
621618
}

src/displayapp/screens/Pawn.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ namespace Pinetime {
8787
Utility::DirtyValue<std::chrono::time_point<std::chrono::system_clock, std::chrono::minutes>> currentDateTime {};
8888
AppControllers& controllers;
8989

90-
Widgets::StatusIcons* statusIcons = nullptr;
90+
std::unique_ptr<Widgets::StatusIcons> statusIcons;
9191

9292
amxPool amx_pool;
9393
std::unique_ptr<File> file;

0 commit comments

Comments
 (0)