Browse Source

Merge pull request #40261 from bruvzg/macos_mono_build

[macOS, Mono] Fix "Wdeprecated-declarations" build error.
Rémi Verschelde 5 years ago
parent
commit
db1eb909fe
1 changed files with 10 additions and 13 deletions
  1. 10 13
      modules/mono/utils/osx_utils.cpp

+ 10 - 13
modules/mono/utils/osx_utils.cpp

@@ -38,24 +38,21 @@
 #include <CoreServices/CoreServices.h>
 
 bool osx_is_app_bundle_installed(const String &p_bundle_id) {
-	CFURLRef app_url = nullptr;
 	CFStringRef bundle_id = CFStringCreateWithCString(nullptr, p_bundle_id.utf8(), kCFStringEncodingUTF8);
-	OSStatus result = LSFindApplicationForInfo(kLSUnknownCreator, bundle_id, nullptr, nullptr, &app_url);
+	CFArrayRef result = LSCopyApplicationURLsForBundleIdentifier(bundle_id, nullptr);
 	CFRelease(bundle_id);
 
-	if (app_url)
-		CFRelease(app_url);
-
-	switch (result) {
-		case noErr:
+	if (result) {
+		if (CFArrayGetCount(result) > 0) {
+			CFRelease(result);
 			return true;
-		case kLSApplicationNotFoundErr:
-			break;
-		default:
-			break;
+		} else {
+			CFRelease(result);
+			return false;
+		}
+	} else {
+		return false;
 	}
-
-	return false;
 }
 
 #endif