diff -uprN gtk+-2.20.1/gdk/win32/gdkwin32.h gtk+-2.20.1.az/gdk/win32/gdkwin32.h
--- gtk+-2.20.1/gdk/win32/gdkwin32.h	2010-04-09 04:29:56 +0200
+++ gtk+-2.20.1.az/gdk/win32/gdkwin32.h	2010-06-11 16:46:44 +0200
@@ -41,12 +41,16 @@ G_BEGIN_DECLS
 
 #include "gdkprivate-win32.h"
 
+#define GDK_TYPE_OFFSCREEN_WINDOW            (gdk_offscreen_window_get_type())
+#define GDK_IS_OFFSCREEN_WINDOW(object)      (G_TYPE_CHECK_INSTANCE_TYPE ((((GdkWindowObject *)object)->impl), GDK_TYPE_OFFSCREEN_WINDOW))
+
 #undef GDK_ROOT_PARENT /* internal access is direct */
 #define GDK_ROOT_PARENT()             ((GdkWindow *) _gdk_parent_root)
 #define GDK_WINDOW_HWND(win)          (GDK_DRAWABLE_IMPL_WIN32(((GdkWindowObject *)win)->impl)->handle)
 #define GDK_PIXMAP_HBITMAP(pixmap)    (GDK_DRAWABLE_IMPL_WIN32(((GdkPixmapObject *)pixmap)->impl)->handle)
+#define GDK_OFFSCREEN_HWND(win)       (0)
 #define GDK_DRAWABLE_IMPL_WIN32_HANDLE(d) (((GdkDrawableImplWin32 *) d)->handle)
-#define GDK_DRAWABLE_HANDLE(win)      (GDK_IS_WINDOW (win) ? GDK_WINDOW_HWND (win) : (GDK_IS_PIXMAP (win) ? GDK_PIXMAP_HBITMAP (win) : (GDK_IS_DRAWABLE_IMPL_WIN32 (win) ? GDK_DRAWABLE_IMPL_WIN32_HANDLE (win) : 0)))
+#define GDK_DRAWABLE_HANDLE(win)      (GDK_IS_OFFSCREEN_WINDOW (win) ? 0 : (GDK_IS_WINDOW (win) ? GDK_WINDOW_HWND (win) : (GDK_IS_PIXMAP (win) ? GDK_PIXMAP_HBITMAP (win) : (GDK_IS_DRAWABLE_IMPL_WIN32 (win) ? GDK_DRAWABLE_IMPL_WIN32_HANDLE (win) : 0))))
 #else
 /* definition for exported 'internals' go here */
 #define GDK_WINDOW_HWND(d) (gdk_win32_drawable_get_handle (d))
