mirror of
https://github.com/dortania/OpenCore-Legacy-Patcher.git
synced 2026-04-24 12:00:15 +10:00
GUI: Disable Pulse() work-around on PSP 1.1.2 and newer
This commit is contained in:
@@ -26,6 +26,8 @@
|
|||||||
- Applicable to systems with 2 (or more) USB Installers with the same name plugged in
|
- Applicable to systems with 2 (or more) USB Installers with the same name plugged in
|
||||||
- Resolve payloads path being mis-routed during CLI calls
|
- Resolve payloads path being mis-routed during CLI calls
|
||||||
- Add UI when fetching root patches for host
|
- Add UI when fetching root patches for host
|
||||||
|
- Remove progress bar work-around for non-Metal in Monterey and later
|
||||||
|
- Requires host to have been patched with PatcherSupportPkg 1.1.2 or newer
|
||||||
- Increment Binaries:
|
- Increment Binaries:
|
||||||
- PatcherSupportPkg 1.1.2 - release
|
- PatcherSupportPkg 1.1.2 - release
|
||||||
|
|
||||||
|
|||||||
@@ -3,10 +3,13 @@ import os
|
|||||||
import sys
|
import sys
|
||||||
import time
|
import time
|
||||||
import logging
|
import logging
|
||||||
|
import plistlib
|
||||||
import threading
|
import threading
|
||||||
import subprocess
|
import subprocess
|
||||||
import applescript
|
import applescript
|
||||||
|
|
||||||
|
import packaging.version
|
||||||
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from resources.wx_gui import gui_about
|
from resources.wx_gui import gui_about
|
||||||
@@ -52,6 +55,8 @@ class GaugePulseCallback:
|
|||||||
"""
|
"""
|
||||||
Uses an alternative Pulse() method for wx.Gauge() on macOS Monterey+ with non-Metal GPUs
|
Uses an alternative Pulse() method for wx.Gauge() on macOS Monterey+ with non-Metal GPUs
|
||||||
Dirty hack, however better to display some form of animation than none at all
|
Dirty hack, however better to display some form of animation than none at all
|
||||||
|
|
||||||
|
Note: This work-around is no longer needed on hosts using PatcherSupportPkg 1.1.2 or newer
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, global_constants: constants.Constants, gauge: wx.Gauge) -> None:
|
def __init__(self, global_constants: constants.Constants, gauge: wx.Gauge) -> None:
|
||||||
@@ -65,8 +70,10 @@ class GaugePulseCallback:
|
|||||||
|
|
||||||
self.max_value: int = gauge.GetRange()
|
self.max_value: int = gauge.GetRange()
|
||||||
|
|
||||||
# self.non_metal_alternative: bool = CheckProperties(global_constants).host_is_non_metal()
|
self.non_metal_alternative: bool = CheckProperties(global_constants).host_is_non_metal()
|
||||||
self.non_metal_alternative: bool = False
|
if self.non_metal_alternative is True:
|
||||||
|
if CheckProperties(global_constants).host_psp_version() >= packaging.version.Version("1.1.2"):
|
||||||
|
self.non_metal_alternative = False
|
||||||
|
|
||||||
|
|
||||||
def start_pulse(self) -> None:
|
def start_pulse(self) -> None:
|
||||||
@@ -140,6 +147,7 @@ class CheckProperties:
|
|||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def host_has_cpu_gen(self, gen: int) -> bool:
|
def host_has_cpu_gen(self, gen: int) -> bool:
|
||||||
"""
|
"""
|
||||||
Check if host has a CPU generation equal to or greater than the specified generation
|
Check if host has a CPU generation equal to or greater than the specified generation
|
||||||
@@ -151,6 +159,24 @@ class CheckProperties:
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def host_psp_version(self) -> packaging.version.Version:
|
||||||
|
"""
|
||||||
|
Grab PatcherSupportPkg version from OpenCore-Legacy-Patcher.plist
|
||||||
|
"""
|
||||||
|
oclp_plist_path = "/System/Library/CoreServices/OpenCore-Legacy-Patcher.plist"
|
||||||
|
if not Path(oclp_plist_path).exists():
|
||||||
|
return packaging.version.Version("0.0.0")
|
||||||
|
|
||||||
|
oclp_plist = plistlib.load(open(oclp_plist_path, "rb"))
|
||||||
|
if "PatcherSupportPkg" not in oclp_plist:
|
||||||
|
return packaging.version.Version("0.0.0")
|
||||||
|
|
||||||
|
if oclp_plist["PatcherSupportPkg"].startswith("v"):
|
||||||
|
oclp_plist["PatcherSupportPkg"] = oclp_plist["PatcherSupportPkg"][1:]
|
||||||
|
|
||||||
|
return packaging.version.parse(oclp_plist["PatcherSupportPkg"])
|
||||||
|
|
||||||
|
|
||||||
class PayloadMount:
|
class PayloadMount:
|
||||||
|
|
||||||
def __init__(self, global_constants: constants.Constants, frame: wx.Frame) -> None:
|
def __init__(self, global_constants: constants.Constants, frame: wx.Frame) -> None:
|
||||||
|
|||||||
Reference in New Issue
Block a user