From c6215a12bdaa467e6fb4dd46b82465e52f60309f Mon Sep 17 00:00:00 2001 From: lvs1974 Date: Wed, 4 Dec 2019 07:51:44 +0100 Subject: [PATCH] Bump version to 1.3.2, fix nvram.plist saving in Catalina, new path is used when the root folder is not writable: /System/Volumes/Data/nvram.plist --- Changelog.md | 3 +++ HibernationFixup.xcodeproj/project.pbxproj | 4 ++-- HibernationFixup/kern_hbfx.cpp | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Changelog.md b/Changelog.md index 634e29a..224b3ab 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,5 +1,8 @@ HibernationFixup Changelog ============================ +#### v1.3.2 +- Fix nvram.plist saving in Catalina, new path is used when the root folder is not writable: /System/Volumes/Data/nvram.plist + #### v1.3.1 - Code refactoring, fix duplicates in log, auto-hibernate can work without power source diff --git a/HibernationFixup.xcodeproj/project.pbxproj b/HibernationFixup.xcodeproj/project.pbxproj index 3a52541..3a032f4 100644 --- a/HibernationFixup.xcodeproj/project.pbxproj +++ b/HibernationFixup.xcodeproj/project.pbxproj @@ -391,7 +391,7 @@ MODULE_NAME = as.lvs1974.HibernationFixup; MODULE_START = "$(PRODUCT_NAME)_kern_start"; MODULE_STOP = "$(PRODUCT_NAME)_kern_stop"; - MODULE_VERSION = 1.3.1; + MODULE_VERSION = 1.3.2; OTHER_CFLAGS = ( "-mmmx", "-msse", @@ -439,7 +439,7 @@ MODULE_NAME = as.lvs1974.HibernationFixup; MODULE_START = "$(PRODUCT_NAME)_kern_start"; MODULE_STOP = "$(PRODUCT_NAME)_kern_stop"; - MODULE_VERSION = 1.3.1; + MODULE_VERSION = 1.3.2; OTHER_CFLAGS = ( "-mmmx", "-msse", diff --git a/HibernationFixup/kern_hbfx.cpp b/HibernationFixup/kern_hbfx.cpp index 528cd7b..3eb18ce 100644 --- a/HibernationFixup/kern_hbfx.cpp +++ b/HibernationFixup/kern_hbfx.cpp @@ -23,6 +23,7 @@ #define FILE_NVRAM_NAME "/nvram.plist" +#define BACKUP_FILE_NVRAM_NAME "/System/Volumes/Data/nvram.plist" // Only used in apple-driven callbacks static HBFX *callbackHBFX = nullptr; @@ -114,7 +115,8 @@ IOReturn HBFX::IOHibernateSystemSleep(void) else SYSLOG("HBFX", "Variable %s can't be found!", kBootNextKey); - callbackHBFX->nvstorage.save(FILE_NVRAM_NAME); + if (!callbackHBFX->nvstorage.save(FILE_NVRAM_NAME)) + callbackHBFX->nvstorage.save(BACKUP_FILE_NVRAM_NAME); if (callbackHBFX->sync) callbackHBFX->sync(kernproc, nullptr, nullptr);