Files
darling-lol/tools/riot-gestalt-version-check.cpp
lucannez64 e94c3ce40f Fix League client resizing and runtime compatibility
Fix X11 presentation handoff after resizing, preserve NSView size callbacks, and correct content and backing-layer geometry. Add CoreText font enumeration for the language dropdown and rebuild/install the matching runtime overlays.

Correct CarbonCore Gestalt version queries and roll back proc_listpids for Vanguard testing. Document that VAN -101 can still recur. Include accumulated CoreAudio stream and AudioUnit corrections.

Add standalone font, version, resize and publisher-handoff regressions. Record manual confirmation of the language dropdown and window resizing; all 29 pinned patches and the source/script audit validate.
2026-10-15 18:44:43 +02:00

28 lines
1.4 KiB
C++

#include <CarbonCore/MacErrors.h>
#include <CarbonCore/Gestalt.h>
#include <sys/sysctl.h>
#include <stdio.h>
int main() {
char product[64] = {};
size_t size = sizeof(product);
int expectedMajor = 0, expectedMinor = 0, expectedPatch = 0;
if (sysctlbyname("kern.osproductversion", product, &size, nullptr, 0) ||
sscanf(product, "%d.%d.%d", &expectedMajor, &expectedMinor, &expectedPatch) < 1)
return 2;
int major = -1, minor = -1, patch = -1, packed = -1, architecture = -1;
bool pass = !Gestalt(gestaltSystemVersionMajor, &major) && major == expectedMajor &&
!Gestalt(gestaltSystemVersionMinor, &minor) && minor == expectedMinor &&
!Gestalt(gestaltSystemVersionPatch, &patch) && patch == expectedPatch;
int expectedPacked = ((((expectedMajor / 10) << 4) | (expectedMajor % 10)) << 8) |
((expectedMinor > 9 ? 9 : expectedMinor) << 4) | (expectedPatch > 9 ? 9 : expectedPatch);
pass &= !Gestalt(gestaltSystemVersion, &packed) && packed == expectedPacked;
pass &= !Gestalt(gestaltSysArchitecture, &architecture) && architecture == gestaltIntel;
pass &= Gestalt(gestaltSystemVersionMajor, nullptr) == paramErr;
int unknown = 123;
pass &= Gestalt(0, &unknown) == unimpErr && unknown == 0;
printf("GESTALT_VERSION product=%s version=%d.%d.%d packed=0x%x architecture=%d pass=%d\n",
product, major, minor, patch, packed, architecture, pass);
return pass ? 0 : 1;
}