summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Fl_Device.cxx19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/Fl_Device.cxx b/src/Fl_Device.cxx
index 1e2946753..7a70a2071 100644
--- a/src/Fl_Device.cxx
+++ b/src/Fl_Device.cxx
@@ -68,9 +68,22 @@ Fl_Display_Device::Fl_Display_Device(Fl_Graphics_Driver *graphics_driver) : Fl_S
SInt32 versionMajor = 0;
SInt32 versionMinor = 0;
SInt32 versionBugFix = 0;
- Gestalt( gestaltSystemVersionMajor, &versionMajor );
- Gestalt( gestaltSystemVersionMinor, &versionMinor );
- Gestalt( gestaltSystemVersionBugFix, &versionBugFix );
+ SInt32 version;
+ Gestalt( gestaltSystemVersion, &version);
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
+ if (version >= 0x1040) {
+ Gestalt( gestaltSystemVersionMajor, &versionMajor );
+ Gestalt( gestaltSystemVersionMinor, &versionMinor );
+ Gestalt( gestaltSystemVersionBugFix, &versionBugFix );
+ }
+ else {
+#endif
+ versionMajor = 10;
+ versionMinor = (version / 0x10) % 0x10;
+ versionBugFix = version % 0x10;
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
+ }
+#endif
fl_mac_os_version = versionMajor * 10000 + versionMinor * 100 + versionBugFix;
#endif
};