From c38a5f90997cef0d0d574585f01d664707b03c05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Thu, 16 May 2024 16:20:15 +0200 Subject: [PATCH] ProcessController: save and restore "Power saving" mode fix #11823 Change-Id: I1284587fa814cd3e121e1c5913f0fe1e15865d9d Reviewed-on: https://review.haiku-os.org/c/haiku/+/7670 Reviewed-by: waddlesplash --- src/apps/processcontroller/ProcessController.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/apps/processcontroller/ProcessController.cpp b/src/apps/processcontroller/ProcessController.cpp index 36e79581b5..532ca90174 100644 --- a/src/apps/processcontroller/ProcessController.cpp +++ b/src/apps/processcontroller/ProcessController.cpp @@ -472,6 +472,8 @@ ProcessController::MessageReceived(BMessage *message) set_scheduler_mode(SCHEDULER_MODE_POWER_SAVING); else set_scheduler_mode(SCHEDULER_MODE_LOW_LATENCY); + Preferences preferences(kPreferencesFileName); + preferences.SaveInt32(get_scheduler_mode(), "scheduler_mode"); break; } @@ -841,6 +843,12 @@ thread_popup(void *arg) // Scheduler modes int32 currentMode = get_scheduler_mode(); + Preferences preferences(kPreferencesFileName, NULL, false); + int32 savedMode; + if (preferences.ReadInt32(savedMode, "scheduler_mode") && currentMode != savedMode) { + set_scheduler_mode(savedMode); + currentMode = get_scheduler_mode(); + } BMessage* msg = new BMessage('Schd'); item = new BMenuItem(B_TRANSLATE("Power saving"), msg); if ((uint32)currentMode == SCHEDULER_MODE_POWER_SAVING)