فهرست منبع

url: WinRT actually works now (and has been tested, hooray!).

Ryan C. Gordon 4 سال پیش
والد
کامیت
4627426994
2فایلهای تغییر یافته به همراه17 افزوده شده و 3 حذف شده
  1. 9 0
      VisualC-WinRT/UWP_VS2015/SDL-UWP.vcxproj.filters
  2. 8 3
      src/misc/winrt/SDL_sysurl.cpp

+ 9 - 0
VisualC-WinRT/UWP_VS2015/SDL-UWP.vcxproj.filters

@@ -438,6 +438,9 @@
     <ClInclude Include="..\..\src\events\SDL_displayevents_c.h">
       <Filter>Source Files</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\include\SDL_misc.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="..\..\src\atomic\SDL_atomic.c">
@@ -791,5 +794,11 @@
     <ClCompile Include="..\..\src\events\SDL_displayevents.c">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\src\misc\winrt\SDL_sysurl.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\src\misc\SDL_url.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
   </ItemGroup>
 </Project>

+ 8 - 3
src/misc/winrt/SDL_sysurl.cpp

@@ -21,17 +21,22 @@
 
 #include <Windows.h>
 
+#include "../../core/windows/SDL_windows.h"
 #include "../SDL_sysurl.h"
 
 int
 SDL_SYS_OpenURL(const char *url)
 {
-    Platform::String^ strurl = url;
+    WCHAR *wurl = WIN_UTF8ToString(url);
+    if (!wurl) {
+        return SDL_OutOfMemory();
+    }
+    auto strurl = ref new Platform::String(wurl);
     SDL_free(wurl);
 
     auto uri = ref new Windows::Foundation::Uri(strurl);
-    launchUriOperation(Windows::System::Launcher::LaunchUriAsync(uri));
-    return 0;
+    Windows::System::Launcher::LaunchUriAsync(uri);
+    return 0;  // oh well, we're not waiting on an async task here.
 }
 
 /* vi: set ts=4 sw=4 expandtab: */