From e8aad3b33e3cccbd7cd772b87af55e8d120d4c6f Mon Sep 17 00:00:00 2001 From: philmoz Date: Tue, 6 Aug 2024 11:46:25 +1000 Subject: [PATCH] fix(cpn): simulator crashes in SD browser (#5387) --- radio/src/gui/colorlcd/radio/radio_sdmanager.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/radio/src/gui/colorlcd/radio/radio_sdmanager.cpp b/radio/src/gui/colorlcd/radio/radio_sdmanager.cpp index bf6be7faa..356a8d8d3 100644 --- a/radio/src/gui/colorlcd/radio/radio_sdmanager.cpp +++ b/radio/src/gui/colorlcd/radio/radio_sdmanager.cpp @@ -256,12 +256,16 @@ void RadioSdManagerPage::build(Window * window) browser->setFileSelected([=](const char* path, const char* name, const char* fullpath) { preview->setFile(nullptr); loading->hide(); - auto ext = getFileExtension(fullpath); - if (strcasecmp(ext, ".bmp") == 0 || strcasecmp(ext, ".png") == 0 || - strcasecmp(ext, ".jpg") == 0 || strcasecmp(ext, ".jpeg") == 0) { - previewFilename = fullpath; - loadPreview = 10; - loading->show(); + if (fullpath) { + auto ext = getFileExtension(fullpath); + if (ext) { + if (strcasecmp(ext, ".bmp") == 0 || strcasecmp(ext, ".png") == 0 || + strcasecmp(ext, ".jpg") == 0 || strcasecmp(ext, ".jpeg") == 0) { + previewFilename = fullpath; + loadPreview = 10; + loading->show(); + } + } } }); browser->refresh();