Bug 676150 GDK: Fix build on Windows
authorChun-wei Fan <fanchunwei@src.gnome.org>
Wed, 16 May 2012 09:36:38 +0000 (17:36 +0800)
committerChun-wei Fan <fanchunwei@src.gnome.org>
Mon, 21 May 2012 15:01:23 +0000 (23:01 +0800)
-Don't include unistd.h and stdint.h unconditionally as not all Windows
 compilers have them around.
-Only include cogl/cogl-xlib.h when it is really supported by Cogl and GDK.
-sys/ioctl.h is not available on Windows (MinGW/MSVC).
-Correct the call to cogl_renderer_set_winsys_id:
 (backend_cogl->cogl_renderer, COGL_WINSYS_ID_WGL) ->
 (renderer, COGL_WINSYS_ID_WGL)

clutter/gdk/clutter-backend-gdk.c
clutter/gdk/clutter-device-manager-gdk.c

index 4660525..42bdc79 100644 (file)
@@ -26,8 +26,9 @@
 #include <glib/gi18n-lib.h>
 
 #include <string.h>
+#ifdef HAVE_UNISTD_H
 #include <unistd.h>
-#include <sys/ioctl.h>
+#endif
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <fcntl.h>
 #include <gdk/gdk.h>
 #include <cogl/cogl.h>
 
+#ifndef GDK_WINDOWING_WIN32
+#include <sys/ioctl.h>
+#endif
+
+#if defined(GDK_WINDOWING_X11) && defined(COGL_HAS_XLIB_SUPPORT)
 #include <cogl/cogl-xlib.h>
+#endif
 
 #ifdef GDK_WINDOWING_X11
 #include <gdk/gdkx.h>
@@ -277,7 +284,7 @@ clutter_backend_gdk_get_renderer (ClutterBackend  *backend,
   if (GDK_IS_WIN32_DISPLAY (backend_gdk->display))
     {
       /* Force a WGL winsys on windows */
-      cogl_renderer_set_winsys_id (backend_cogl->cogl_renderer, COGL_WINSYS_ID_WGL);
+      cogl_renderer_set_winsys_id (renderer, COGL_WINSYS_ID_WGL);
     }
   else
 #endif
index 5175bba..3442699 100644 (file)
@@ -24,7 +24,9 @@
 
 #include "config.h"
 
+#ifdef HAVE_STDINT_H
 #include <stdint.h>
+#endif
 
 #include "clutter-device-manager-gdk.h"