mirror of
https://github.com/dortania/OpenCore-Legacy-Patcher.git
synced 2026-06-15 20:00:00 +10:00
Add safe guards for macOS 14
This commit is contained in:
@@ -16,6 +16,11 @@
|
||||
- ex. OpenCore-Patcher.app
|
||||
- UI changes:
|
||||
- Add "Show Log File" button to menubar
|
||||
- Avoid listing unsupported installer to download by default
|
||||
- ex. macOS 14 InstallAssistant.pkg
|
||||
- Resolve crash when fetching remote macOS installers offline
|
||||
- Avoid displaying root patches on unsupported macOS versions
|
||||
- ex. macOS 14
|
||||
- Backend changes:
|
||||
- Call `setpgrp()` to prevent app from being killed if parent process is killed (ie. LaunchAgents)
|
||||
- Rework logging handler:
|
||||
|
||||
@@ -479,7 +479,6 @@ class RemoteInstallerCatalog:
|
||||
|
||||
os_builds.append(newest_apps[ia]["Build"])
|
||||
|
||||
# Final passthrough
|
||||
# Remove Betas if there's a non-beta version available
|
||||
for ia in list(newest_apps):
|
||||
if newest_apps[ia]["Variant"] in ["CustomerSeed", "DeveloperSeed", "PublicSeed"]:
|
||||
@@ -488,6 +487,11 @@ class RemoteInstallerCatalog:
|
||||
newest_apps.pop(ia)
|
||||
break
|
||||
|
||||
# Remove unsupported versions (namely 14)
|
||||
for ia in list(newest_apps):
|
||||
if newest_apps[ia]["Version"].split(".")[0] not in supported_versions:
|
||||
newest_apps.pop(ia)
|
||||
|
||||
return newest_apps
|
||||
|
||||
|
||||
|
||||
@@ -579,6 +579,7 @@ class DetectRootPatch:
|
||||
"Settings: Kernel Debug Kit missing": self.missing_kdk if self.constants.detected_os >= os_data.os_data.ventura.value else False,
|
||||
"Validation: Patching Possible": self.verify_patch_allowed(),
|
||||
"Validation: Unpatching Possible": self._verify_unpatch_allowed(),
|
||||
f"Validation: Unsupported Host OS": True if self.constants.detected_os > os_data.os_data.ventura and not Path("~/.dortania_developer").expanduser().exists() else False,
|
||||
f"Validation: SIP is enabled (Required: {self._check_sip()[2]} or higher)": self.sip_enabled,
|
||||
f"Validation: Currently Booted SIP: ({hex(py_sip_xnu.SipXnu().get_sip_status().value)})": self.sip_enabled,
|
||||
"Validation: SecureBootModel is enabled": self.sbm_enabled,
|
||||
|
||||
@@ -155,6 +155,11 @@ class macOSInstallerDownloadFrame(wx.Frame):
|
||||
# Note that on full display, the last installer is generally a beta
|
||||
if show_full is False and app == list(installers.keys())[-1]:
|
||||
installer_button.SetDefault()
|
||||
else:
|
||||
logging.error("No installers found on SUCatalog")
|
||||
installer_button = wx.StaticText(dialog, label="Failed to fetch catalog from Apple", pos=(-1, subtitle_label.GetPosition()[1] + subtitle_label.GetSize()[1] + 5))
|
||||
installer_button.SetFont(wx.Font(13, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, ".AppleSystemUIFont"))
|
||||
installer_button.Centre(wx.HORIZONTAL)
|
||||
|
||||
# Show all available installers
|
||||
show_all_button = wx.Button(dialog, label="Show all available installers" if show_full is False else "Show only latest installers", pos=(-1, installer_button.GetPosition()[1] + installer_button.GetSize()[1]), size=(200, 30))
|
||||
|
||||
Reference in New Issue
Block a user