Browse Source

Fix compilation on Windows when SDL3 is used

Sasha Szpakowski 10 months ago
parent
commit
28393cdfd5
2 changed files with 6 additions and 2 deletions
  1. 1 1
      src/modules/graphics/vulkan/Graphics.cpp
  2. 5 1
      src/modules/window/sdl/Window.cpp

+ 1 - 1
src/modules/graphics/vulkan/Graphics.cpp

@@ -1875,7 +1875,7 @@ void Graphics::createSurface()
 	auto window = Module::getInstance<love::window::Window>(M_WINDOW);
 	const void *handle = window->getHandle();
 #if SDL_VERSION_ATLEAST(3, 0, 0)
-	if (SDL_Vulkan_CreateSurface((SDL_Window*)handle, instance, nullptr, &surface) != SDL_TRUE)
+	if (!SDL_Vulkan_CreateSurface((SDL_Window*)handle, instance, nullptr, &surface))
 		throw love::Exception("failed to create window surface");
 #else
 	if (SDL_Vulkan_CreateSurface((SDL_Window*)handle, instance, &surface) != SDL_TRUE)

+ 5 - 1
src/modules/window/sdl/Window.cpp

@@ -118,8 +118,12 @@ Window::Window()
 #ifdef LOVE_WINDOWS
 	// Turned off by default, because it (ironically) causes stuttering issues
 	// on some setups. More investigation is needed before enabling it.
+#if SDL_VERSION_ATLEAST(3, 0, 0)
+	canUseDwmFlush = SDL_GetHintBoolean("LOVE_GRAPHICS_VSYNC_DWM", false);
+#else
 	canUseDwmFlush = SDL_GetHintBoolean("LOVE_GRAPHICS_VSYNC_DWM", SDL_FALSE) != SDL_FALSE;
 #endif
+#endif
 }
 
 Window::~Window()
@@ -1790,7 +1794,7 @@ void Window::requestAttention(bool continuous)
 	FLASHWINFO flashinfo = { sizeof(FLASHWINFO) };
 
 #if SDL_VERSION_ATLEAST(3, 0, 0)
-	flashinfo.hwnd = (HWND)SDL_GetProperty(SDL_GetWindowProperties(window), SDL_PROP_WINDOW_WIN32_HWND_POINTER, NULL);
+	flashinfo.hwnd = (HWND)SDL_GetPointerProperty(SDL_GetWindowProperties(window), SDL_PROP_WINDOW_WIN32_HWND_POINTER, nullptr);
 #else
 	SDL_SysWMinfo wminfo = {};
 	SDL_VERSION(&wminfo.version);