Review comments

This commit is contained in:
jpirnay
2026-05-22 14:13:19 +02:00
parent 427a74a93b
commit af98985050
2 changed files with 15 additions and 2 deletions
@@ -303,6 +303,7 @@ void SettingsActivity::toggleCurrentSetting() {
auto activity = createActivityForAction(static_cast<SettingAction>(menuResult->action), renderer, mappedInput); auto activity = createActivityForAction(static_cast<SettingAction>(menuResult->action), renderer, mappedInput);
if (activity) { if (activity) {
startActivityForResult(std::move(activity), [this](const ActivityResult&) { startActivityForResult(std::move(activity), [this](const ActivityResult&) {
CrossPointSettings::normalizeDependentSettings(SETTINGS);
SETTINGS.saveToFile(); SETTINGS.saveToFile();
needsHalfRefresh = true; needsHalfRefresh = true;
}); });
+14 -2
View File
@@ -182,8 +182,14 @@ static void saveSleepFrameBuffer() {
if (!Storage.openFileForWrite("SLP", SLEEP_FRAME_FILE, file)) { if (!Storage.openFileForWrite("SLP", SLEEP_FRAME_FILE, file)) {
return; return;
} }
file.write(renderer.getFrameBuffer(), renderer.getBufferSize()); const size_t bufferSize = renderer.getBufferSize();
const size_t written = file.write(renderer.getFrameBuffer(), bufferSize);
file.close(); file.close();
if (written != bufferSize) {
LOG_DBG("MAIN", "Quick Resume frame save short write: %u/%u", static_cast<unsigned>(written),
static_cast<unsigned>(bufferSize));
Storage.remove(SLEEP_FRAME_FILE);
}
} }
// Restores the previously saved framebuffer into the display buffer. Returns false if the file is // Restores the previously saved framebuffer into the display buffer. Returns false if the file is
@@ -195,10 +201,16 @@ static bool loadSleepFrameBuffer() {
return false; return false;
} }
const size_t bufferSize = display.getBufferSize(); const size_t bufferSize = display.getBufferSize();
const size_t fileSize = file.size();
const int bytesRead = file.read(display.getFrameBuffer(), bufferSize); const int bytesRead = file.read(display.getFrameBuffer(), bufferSize);
file.close(); file.close();
Storage.remove(SLEEP_FRAME_FILE); Storage.remove(SLEEP_FRAME_FILE);
return static_cast<size_t>(bytesRead) == bufferSize; if (fileSize != bufferSize || bytesRead < 0 || static_cast<size_t>(bytesRead) != bufferSize) {
LOG_DBG("MAIN", "Quick Resume frame size mismatch (file=%u, read=%d, expected=%u)", static_cast<unsigned>(fileSize),
bytesRead, static_cast<unsigned>(bufferSize));
return false;
}
return true;
} }
// Earliest millis() value at which a held-power-button press is allowed to trigger sleep. // Earliest millis() value at which a held-power-button press is allowed to trigger sleep.