Browse Source

Win32: resolve some symbols re-definition of windows.h in glfw3native.h (#2643)

* Win32: resolve some symbols re-definition of windows.h in glfw3native.h

This reflects GLFW's fix: https://github.com/glfw/glfw/issues/1348

This enables to build with a external GLFW containing the
following fix:

* https://github.com/glfw/glfw/commit/05f6c13d119ea2662c97527d2421fb4cffd3dbfc

Currently, glfw3native.h of the internal GLFW is customized at
https://github.com/raysan5/raylib/commit/2feea87b616292b5bce4454a42c2d048f1cce7d8

This fix is compatible with the current customized glfw3native.h.

This fix enables us to update it to the latest and remove the
customization.

* Win32: remove unneeded typedef
Daijiro Fukuda 3 years ago
parent
commit
7bb8ffc29e
2 changed files with 5 additions and 4 deletions
  1. 0 3
      src/external/glfw/include/GLFW/glfw3native.h
  2. 5 1
      src/rcore.c

+ 0 - 3
src/external/glfw/include/GLFW/glfw3native.h

@@ -92,9 +92,6 @@ extern "C" {
 // @raysan5: Actually, only HWND handler needs to be defined
 // Including windows.h could suppose symbols re-definition issues (i.e Rectangle type)
 //#include <windows.h>
- typedef void *PVOID;
- typedef PVOID HANDLE;
- typedef HANDLE HWND;
 #elif defined(GLFW_EXPOSE_NATIVE_COCOA) || defined(GLFW_EXPOSE_NATIVE_NSGL)
  #if defined(__OBJC__)
   #import <Cocoa/Cocoa.h>

+ 5 - 1
src/rcore.c

@@ -214,8 +214,12 @@
 
     // Support retrieving native window handlers
     #if defined(_WIN32)
+        typedef void *PVOID;
+        typedef PVOID HANDLE;
+        typedef HANDLE HWND;
         #define GLFW_EXPOSE_NATIVE_WIN32
-        #include "GLFW/glfw3native.h"       // WARNING: It requires customization to avoid windows.h inclusion!
+        #define GLFW_NATIVE_INCLUDE_NONE // To avoid some symbols re-definition in windows.h
+        #include "GLFW/glfw3native.h"
 
         #if defined(SUPPORT_WINMM_HIGHRES_TIMER) && !defined(SUPPORT_BUSY_WAIT_LOOP)
             // NOTE: Those functions require linking with winmm library