url: Another attempt at WinRT implementation.
--HG--
extra : rebase_source : 2486246fba6b5f59219adc4cb9abf1b42400b580
diff --git a/src/misc/winrt/SDL_sysurl.cpp b/src/misc/winrt/SDL_sysurl.cpp
index a2c0fc6..f1314e9 100644
--- a/src/misc/winrt/SDL_sysurl.cpp
+++ b/src/misc/winrt/SDL_sysurl.cpp
@@ -21,22 +21,21 @@
#include <Windows.h>
+#include "../../core/windows/SDL_windows.h"
#include "../SDL_sysurl.h"
int
SDL_SYS_OpenURL(const char *url)
{
- auto uri = ref new Windows::Foundation::Uri(url);
- concurrency::task<bool> launchUriOperation(Windows::System::Launcher::LaunchUriAsync(uri));
- int retval = -1;
- launchUriOperation.then([](bool success) {
- if (success) {
- retval = 0;
- } else {
- retval = SDL_SetError("URL failed to launch");
- }
- });
- return retval;
+ WCHAR *wurl = WIN_UTF8ToString(url);
+ if (wurl == NULL) {
+ return SDL_OutOfMemory();
+ }
+
+ auto uri = ref new Windows::Foundation::Uri(wurl);
+ SDL_free(wurl);
+ launchUriOperation(Windows::System::Launcher::LaunchUriAsync(uri));
+ return 0;
}
/* vi: set ts=4 sw=4 expandtab: */