diff --git a/intern/ghost/intern/GHOST_SystemSDL.cc b/intern/ghost/intern/GHOST_SystemSDL.cc index 021fdfda556..2e756fd738b 100644 --- a/intern/ghost/intern/GHOST_SystemSDL.cc +++ b/intern/ghost/intern/GHOST_SystemSDL.cc @@ -605,8 +605,14 @@ void GHOST_SystemSDL::processEvent(SDL_Event *sdl_event) GHOST_WindowSDL *window = findGhostWindow( SDL_GetWindowFromID_fallback(sdl_sub_evt.windowID)); assert(window != nullptr); - g_event = new GHOST_EventWheel( - event_ms, window, GHOST_kEventWheelAxisVertical, sdl_sub_evt.y); + if (sdl_sub_evt.x != 0) { + g_event = new GHOST_EventWheel( + event_ms, window, GHOST_kEventWheelAxisHorizontal, sdl_sub_evt.x); + } + else if (sdl_sub_evt.y != 0) { + g_event = new GHOST_EventWheel( + event_ms, window, GHOST_kEventWheelAxisVertical, sdl_sub_evt.y); + } break; } case SDL_KEYDOWN: