Bug 676150 GDK: Fix build on Windows

-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)
This commit is contained in:
Chun-wei Fan 2012-05-16 17:36:38 +08:00
parent aeea9ee778
commit ef1860d71d
2 changed files with 11 additions and 2 deletions

View File

@ -26,8 +26,9 @@
#include <glib/gi18n-lib.h> #include <glib/gi18n-lib.h>
#include <string.h> #include <string.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#include <sys/ioctl.h> #endif
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/types.h> #include <sys/types.h>
#include <fcntl.h> #include <fcntl.h>
@ -36,7 +37,13 @@
#include <gdk/gdk.h> #include <gdk/gdk.h>
#include <cogl/cogl.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> #include <cogl/cogl-xlib.h>
#endif
#ifdef GDK_WINDOWING_X11 #ifdef GDK_WINDOWING_X11
#include <gdk/gdkx.h> #include <gdk/gdkx.h>
@ -277,7 +284,7 @@ clutter_backend_gdk_get_renderer (ClutterBackend *backend,
if (GDK_IS_WIN32_DISPLAY (backend_gdk->display)) if (GDK_IS_WIN32_DISPLAY (backend_gdk->display))
{ {
/* Force a WGL winsys on windows */ /* 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 else
#endif #endif

View File

@ -24,7 +24,9 @@
#include "config.h" #include "config.h"
#ifdef HAVE_STDINT_H
#include <stdint.h> #include <stdint.h>
#endif
#include "clutter-device-manager-gdk.h" #include "clutter-device-manager-gdk.h"