Index: linux/glwindow.cpp
===================================================================
--- linux/glwindow.cpp	(revision 1282)
+++ linux/glwindow.cpp	(working copy)
@@ -6,6 +6,8 @@
 #include "glwindow.h"
 #include "defines.h"
 #include "system.h"
+#include "project.h"
+#include "lc_application.h"
 
 struct GLWindowPrivate
 {
@@ -119,6 +121,21 @@
 	return TRUE;
 }
 
+static gboolean scroll_event (GtkWidget *widget, GdkEventScroll *event)
+{
+	switch (event->direction)
+	{
+		case GDK_SCROLL_UP:
+			lcGetActiveProject()->HandleCommand(LC_VIEW_ZOOM, 10);
+			return TRUE;
+		case GDK_SCROLL_DOWN:
+			lcGetActiveProject()->HandleCommand(LC_VIEW_ZOOM, -10);
+			return TRUE;
+		default:
+			return FALSE;
+	}
+}
+
 static gint size_allocate_event(GtkWidget *widget, GtkAllocation *allocation, gpointer data)
 {
 	GLWindow *wnd = (GLWindow*)data;
@@ -240,6 +257,7 @@
 	gtk_signal_connect(GTK_OBJECT(prv->widget), "button_press_event", GTK_SIGNAL_FUNC(button_press_event), this);
 	gtk_signal_connect(GTK_OBJECT(prv->widget), "button_release_event", GTK_SIGNAL_FUNC(button_release_event), this);
 	gtk_signal_connect(GTK_OBJECT(prv->widget), "realize", GTK_SIGNAL_FUNC(realize_event), this);
+	gtk_signal_connect(GTK_OBJECT(prv->widget), "scroll_event", GTK_SIGNAL_FUNC(scroll_event), this);
 
 	*((GtkWidget**)data) = prv->widget;
 
