summary refs log tree commit diff stats
path: root/plugins/sysinfo/osx
diff options
context:
space:
mode:
authorMihai Moldovan <ionic@ionic.de>2016-09-26 08:49:56 +0200
committerTingPing <tingping@tingping.se>2016-09-25 23:49:56 -0700
commit49758cafba9fd7e0663b550debfd51fb21260650 (patch)
treebad9439a3a654cab55c9f3206af17c01ec04c3d1 /plugins/sysinfo/osx
parent15600f405f2d5bda6ccf0dd73957395716e0d4d3 (diff)
sysinfo: fix compilation on OS X 10.9 and lower. (#1821)
Use the (deprecated) Gestalt functionality for fetching the fine-grained
OS X version number on 10.9 and lower.

The newer NSOperatingSystemVersion structure is only available on
10.10+.
Diffstat (limited to 'plugins/sysinfo/osx')
-rw-r--r--plugins/sysinfo/osx/backend.m12
1 files changed, 12 insertions, 0 deletions
diff --git a/plugins/sysinfo/osx/backend.m b/plugins/sysinfo/osx/backend.m
index 450a557a..806e2d74 100644
--- a/plugins/sysinfo/osx/backend.m
+++ b/plugins/sysinfo/osx/backend.m
@@ -78,10 +78,22 @@ get_os (void)
 static char *
 get_os_fallback (void)
 {
+#if MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_9
+	SInt32 ver_major = 0,
+	       ver_minor = 0,
+	       ver_patch = 0;
+
+	Gestalt (gestaltSystemVersionMajor, &ver_major);
+	Gestalt (gestaltSystemVersionMinor, &ver_minor);
+	Gestalt (gestaltSystemVersionBugFix, &ver_patch);
+
+	return g_strdup_printf ("OS X %d.%d.%d", ver_major, ver_minor, ver_patch);
+#else
 	NSProcessInfo *info = [NSProcessInfo processInfo];
 	NSOperatingSystemVersion version = [info operatingSystemVersion];
 
 	return g_strdup_printf ("OS X %ld.%ld.%ld", version.majorVersion, version.minorVersion, version.patchVersion);
+#endif
 }
 char *
 sysinfo_backend_get_os(void)