diff --git a/Graphics/UI/SDL/Events.hsc b/Graphics/UI/SDL/Events.hsc
--- a/Graphics/UI/SDL/Events.hsc
+++ b/Graphics/UI/SDL/Events.hsc
@@ -588,7 +588,7 @@
 pushEvent = unwrapBool "SDL_PushEvent" . tryPushEvent
 
 -- int SDL_WaitEvent(SDL_Event *event);
-foreign import ccall unsafe "SDL_WaitEvent" sdlWaitEvent :: Ptr Event -> IO Int
+foreign import ccall safe "SDL_WaitEvent" sdlWaitEvent :: Ptr Event -> IO Int
 
 -- | Waits indefinitely for the next available event.
 waitEvent :: IO Event
diff --git a/SDL.cabal b/SDL.cabal
--- a/SDL.cabal
+++ b/SDL.cabal
@@ -1,6 +1,6 @@
 Cabal-Version:      >= 1.6
 Name:               SDL
-Version:            0.6.5.1
+Version:            0.6.6.0
 Maintainer:         Francesco Ariis <fa-ml@ariis.it>
 Author:             Lemmih (lemmih@gmail.com)
 Copyright:          2004-2010, Lemmih
@@ -22,7 +22,7 @@
                     Examples/MacOSX/Makefile,
                     Examples/MacOSX/MainWrapper.hs,
                     Examples/MacOSX/mainc.c
-Extra-Source-files: configure, configure.ac, SDL.buildinfo.in, config.mk.in, includes/HsSDLConfig.h.in
+Extra-Source-files: changes.txt, configure, configure.ac, SDL.buildinfo.in, config.mk.in, includes/HsSDLConfig.h.in
 
 Library
   Build-Depends: base >= 3 && < 5
@@ -53,4 +53,4 @@
 
 source-repository head
     type:     darcs
-    location: http://mirror.seize.it/hsSDL/hssdl/
+    location: http://ariis.it/link/repos/sdl-bindings/hssdl/
diff --git a/changes.txt b/changes.txt
new file mode 100644
--- /dev/null
+++ b/changes.txt
@@ -0,0 +1,5 @@
+0.6.6.0
+-------
+
+- Made SDL_WaitEvent from unsafe to safe, because it blocks (thanks to
+  Harendra Kumar for reporting the bug).
