diff --git a/Graphics/Gloss/Data/ViewState.hs b/Graphics/Gloss/Data/ViewState.hs
--- a/Graphics/Gloss/Data/ViewState.hs
+++ b/Graphics/Gloss/Data/ViewState.hs
@@ -257,6 +257,9 @@
  = motionTranslate (viewStateTranslateMark viewState) pos viewState `mplus`
    motionRotate    (viewStateRotateMark    viewState) pos viewState
 
+updateViewStateWithEventMaybe (EventResize _) _ 
+ = Nothing
+
 
 -- | Zoom in a `ViewState` by the scale step.
 controlZoomIn :: ViewState -> ViewState
diff --git a/Graphics/Gloss/Internals/Interface/Backend/GLFW.hs b/Graphics/Gloss/Internals/Interface/Backend/GLFW.hs
--- a/Graphics/Gloss/Internals/Interface/Backend/GLFW.hs
+++ b/Graphics/Gloss/Internals/Interface/Backend/GLFW.hs
@@ -440,7 +440,7 @@
  = X.catch go exit
  where
   exit :: X.SomeException -> IO ()
-  exit _ = exitGLFW stateRef
+  exit e = print e >> exitGLFW stateRef
 
   go   :: IO ()
   go 
diff --git a/Graphics/Gloss/Internals/Interface/Event.hs b/Graphics/Gloss/Internals/Interface/Event.hs
--- a/Graphics/Gloss/Internals/Interface/Event.hs
+++ b/Graphics/Gloss/Internals/Interface/Event.hs
@@ -12,6 +12,7 @@
 data Event
 	= EventKey    Key KeyState Modifiers (Float, Float)
 	| EventMotion (Float, Float)
+        | EventResize (Int, Int)
 	deriving (Eq, Show)
 
 keyMouseEvent ::
diff --git a/Graphics/Gloss/Internals/Interface/Game.hs b/Graphics/Gloss/Internals/Interface/Game.hs
--- a/Graphics/Gloss/Internals/Interface/Game.hs
+++ b/Graphics/Gloss/Internals/Interface/Game.hs
@@ -90,7 +90,7 @@
 		, callback_exit () 
 		, callback_keyMouse worldSR viewSR worldHandleEvent
 		, callback_motion   worldSR worldHandleEvent
-		, callback_viewState_reshape ]
+		, callback_reshape  worldSR worldHandleEvent]
 
 	createWindow backend display backgroundColor callbacks
 
@@ -139,3 +139,23 @@
         world    <- readIORef worldRef
         world'   <- eventFn ev world
         writeIORef worldRef world'
+
+
+-- | Callback for Handle reshape event.
+callback_reshape
+  :: IORef world
+  -> (Event -> world -> IO world)
+  -> Callback
+callback_reshape worldRef eventFN
+ 	= Reshape (handle_reshape worldRef eventFN)
+
+
+handle_reshape
+  :: IORef world
+  -> (Event -> world -> IO world)
+  -> ReshapeCallback
+handle_reshape worldRef eventFn stateRef (width,height)
+ = do   world  <- readIORef worldRef
+        world' <- eventFn (EventResize (width, height)) world
+        writeIORef worldRef world'
+        viewState_reshape stateRef (width, height)
diff --git a/Graphics/Gloss/Internals/Interface/ViewState/Reshape.hs b/Graphics/Gloss/Internals/Interface/ViewState/Reshape.hs
--- a/Graphics/Gloss/Internals/Interface/ViewState/Reshape.hs
+++ b/Graphics/Gloss/Internals/Interface/ViewState/Reshape.hs
@@ -1,7 +1,7 @@
 {-# OPTIONS_HADDOCK hide #-}
 
 module Graphics.Gloss.Internals.Interface.ViewState.Reshape
-	(callback_viewState_reshape)
+	(callback_viewState_reshape, viewState_reshape)
 where
 import Graphics.Gloss.Internals.Interface.Callback
 import Graphics.Gloss.Internals.Interface.Backend
diff --git a/gloss.cabal b/gloss.cabal
--- a/gloss.cabal
+++ b/gloss.cabal
@@ -1,5 +1,5 @@
 Name:                gloss
-Version:             1.8.0.1
+Version:             1.8.1.1
 License:             MIT
 License-file:        LICENSE
 Author:              Ben Lippmeier
