diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c index 3fd96819c..d08b267f0 100644 --- a/src/sdl/i_video.c +++ b/src/sdl/i_video.c @@ -59,6 +59,7 @@ #endif #include "../doomstat.h" +#include "../p_setup.h" #include "../i_system.h" #include "../v_video.h" #include "../m_argv.h" @@ -969,6 +970,7 @@ static void Impl_HandleControllerButtonEvent(SDL_ControllerButtonEvent evt, Uint void I_GetEvent(void) { SDL_Event evt; + char* dropped_filedir; // We only want the first motion event, // otherwise we'll end up catching the warp back to center. //int mouseMotionOnce = 0; @@ -1293,6 +1295,11 @@ void I_GetEvent(void) if (currentMenu == &OP_JoystickSetDef) M_SetupJoystickMenu(0); break; + case SDL_DROPFILE: + dropped_filedir = evt.drop.file; + P_AddWadFile(dropped_filedir); + SDL_free(dropped_filedir); // Free dropped_filedir memory + break; case SDL_QUIT: I_Quit(); M_QuitResponse('y');