Browse Source

[macOS, Mono] Fix "Wdeprecated-declarations" build error.

(cherry picked from commit 5d54c015b2dd0a26237c00788be25b3da4cfe3dd)
bruvzg 5 years ago
parent
commit
3151ebbd68
1 changed files with 11 additions and 14 deletions
  1. 11 14
      modules/mono/utils/osx_utils.cpp

+ 11 - 14
modules/mono/utils/osx_utils.cpp

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