summaryrefslogtreecommitdiff
path: root/src/os
diff options
context:
space:
mode:
authorembeddedt <42941056+embeddedt@users.noreply.github.com>2021-02-08 13:18:30 -0500
committerGitHub <noreply@github.com>2021-02-08 19:18:30 +0100
commit6c8f2227cdc01c978ec1cbf08a93925e148175b8 (patch)
tree810401a7745c4b21c25bfa39b71786995ecc272d /src/os
parentac2b5e57cf2805eb24370b664380322d62a04eff (diff)
downloadopenttd-6c8f2227cdc01c978ec1cbf08a93925e148175b8.tar.xz
Fix: [Emscripten] open links in browser (#8655)
Diffstat (limited to 'src/os')
-rw-r--r--src/os/unix/unix.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/os/unix/unix.cpp b/src/os/unix/unix.cpp
index 4b94539b0..9ef2bc386 100644
--- a/src/os/unix/unix.cpp
+++ b/src/os/unix/unix.cpp
@@ -28,6 +28,10 @@
#include <SDL.h>
#endif
+#ifdef __EMSCRIPTEN__
+# include <emscripten.h>
+#endif
+
#ifdef __APPLE__
# include <sys/mount.h>
#elif (defined(_POSIX_VERSION) && _POSIX_VERSION >= 200112L) || defined(__GLIBC__)
@@ -288,7 +292,13 @@ bool GetClipboardContents(char *buffer, const char *last)
#endif
-#ifndef __APPLE__
+#if defined(__EMSCRIPTEN__)
+void OSOpenBrowser(const char *url)
+{
+ /* Implementation in pre.js */
+ EM_ASM({ if(window["openttd_open_url"]) window.openttd_open_url($0, $1) }, url, strlen(url));
+}
+#elif !defined( __APPLE__)
void OSOpenBrowser(const char *url)
{
pid_t child_pid = fork();