Commit 3b38e61a7d73cd7e01f34318a6aeb7c336e3b3e7

Ryan C. Gordon 2020-07-16T13:25:50

winrt: Fix casting a pointer to int. Fixes Bugzilla #5202.

diff --git a/src/video/winrt/SDL_winrtmessagebox.cpp b/src/video/winrt/SDL_winrtmessagebox.cpp
index 44973f2..285023d 100644
--- a/src/video/winrt/SDL_winrtmessagebox.cpp
+++ b/src/video/winrt/SDL_winrtmessagebox.cpp
@@ -82,7 +82,7 @@ WINRT_ShowMessageBox(const SDL_MessageBoxData *messageboxdata, int *buttonid)
             sdlButton = &messageboxdata->buttons[i];
         }
         UICommand ^ button = ref new UICommand(WINRT_UTF8ToPlatformString(sdlButton->text));
-        button->Id = safe_cast<IntPtr>((int)(sdlButton - messageboxdata->buttons));
+        button->Id = safe_cast<IntPtr>((size_t)(sdlButton - messageboxdata->buttons));
         dialog->Commands->Append(button);
         if (sdlButton->flags & SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT) {
             dialog->CancelCommandIndex = i;
@@ -104,7 +104,7 @@ WINRT_ShowMessageBox(const SDL_MessageBoxData *messageboxdata, int *buttonid)
         return SDL_SetError("An unknown error occurred in displaying the WinRT MessageDialog");
     }
     if (buttonid) {
-        IntPtr results = safe_cast<IntPtr>((int)(operation->GetResults()->Id));
+        IntPtr results = safe_cast<IntPtr>((size_t)(operation->GetResults()->Id));
         int clicked_index = results.ToInt32();
         *buttonid = messageboxdata->buttons[clicked_index].buttonid;
     }