<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">NSFileManager URLForDirectory:inDomain:appropriateForURL:create:error: was added in Mac OS X 10.6.

Replace with NSSearchPathForDirectoriesInDomains() to support all versions of Mac OS X.

NSDownloadsDirectory was added in Mac OS X 10.5, fall back to NSDesktopDirectory on Tiger.

--- ./src/commonui/fz_paths_osx.mm.orig	2021-10-26 14:12:19.000000000 +0200
+++ ./src/commonui/fz_paths_osx.mm	2023-03-25 20:24:46.000000000 +0100
@@ -1,3 +1,5 @@
+#include &lt;AvailabilityMacros.h&gt;
+#include &lt;Foundation/NSPathUtilities.h&gt;
 #include &lt;Foundation/NSFileManager.h&gt;
 #include &lt;Foundation/NSURL.h&gt;
 
@@ -17,12 +19,25 @@
 {
 	static char const* path = 0;
 	if (!path) {
-		NSURL* url = [[NSFileManager defaultManager] URLForDirectory:NSDownloadsDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil];
-		if (url) {
-			path = strdup(url.path.UTF8String);
-		}
-		else {
-			path = "";
+		path = "";
+
+		NSArray *paths = NSSearchPathForDirectoriesInDomains(
+#if MAC_OS_X_VERSION_MAX_ALLOWED &gt;= 1050
+			NSDownloadsDirectory,
+#else
+			NSDesktopDirectory,
+#endif
+			NSUserDomainMask,
+			YES);
+	    NSFileManager *fileManager = [NSFileManager defaultManager];
+		for (int i = 0; i &lt; [paths count]; ++i) {
+			id searchdir = [paths objectAtIndex:i];
+
+			BOOL isDir;
+			if ([fileManager fileExistsAtPath:searchdir isDirectory:&amp;isDir] &amp;&amp; isDir) {
+				path = strdup([searchdir UTF8String]);
+				break;
+			}
 		}
 	}
 	return path;
</pre></body></html>