Index: trunk/src/gl/gl_window.cc
===================================================================
--- trunk/src/gl/gl_window.cc	(revision 303)
+++ trunk/src/gl/gl_window.cc	(revision 304)
@@ -115,6 +115,16 @@
 	case SDL_BUTTON_MIDDLE    : mevent.mbutton.button = MOUSE_MIDDLE; break;
 	case SDL_BUTTON_RIGHT     : mevent.mbutton.button = MOUSE_RIGHT; break;
-	//case SDL_BUTTON_WHEELUP   : mevent.mbutton.button = MOUSE_WHEEL_UP; break;
-	//case SDL_BUTTON_WHEELDOWN : mevent.mbutton.button = MOUSE_WHEEL_DOWN; break;
+#if NV_SDL_VERSION == NV_SDL_12
+	case SDL_BUTTON_WHEELUP   : 
+		mevent.type           = EV_MOUSE_WHEEL;
+		mevent.mwheel.x       = 0;
+		mevent.mwheel.y       = 3;
+		return true;
+	case SDL_BUTTON_WHEELDOWN : 
+		mevent.type           = EV_MOUSE_WHEEL;
+		mevent.mwheel.x       = 0;
+		mevent.mwheel.y       = -3;
+		return true;
+#endif
 	default : break;
 	}
@@ -122,4 +132,14 @@
 	return mevent.mbutton.button != MOUSE_NONE;
 }
+
+#if NV_SDL_VERSION == NV_SDL_20
+static bool sdl_mouse_wheel_to_io_event( const SDL_MouseWheelEvent& mm, io_event& mevent )
+{
+	mevent.type          = EV_MOUSE_WHEEL;
+	mevent.mwheel.x      = static_cast< sint32 >( mm.x );
+	mevent.mwheel.y      = static_cast< sint32 >( mm.y );
+	return true;
+}
+#endif
 
 static bool sdl_mouse_motion_to_io_event( const SDL_MouseMotionEvent& mm, io_event& mevent )
@@ -180,4 +200,7 @@
 	case SDL_MOUSEBUTTONDOWN : return sdl_mouse_button_to_io_event( e.button, ioevent );
 	case SDL_MOUSEBUTTONUP   : return sdl_mouse_button_to_io_event( e.button, ioevent );
+#if NV_SDL_VERSION == NV_SDL_20
+	case SDL_MOUSEWHEEL      : return sdl_mouse_wheel_to_io_event( e.wheel, ioevent );
+#endif
 /* // SDL 2.0 incompatible 
 	case SDL_ACTIVEEVENT     : 
