--- a/src/window.c Tue Aug 05 16:53:25 2025 +0200 +++ b/src/window.c Tue Aug 05 20:00:24 2025 +0200 @@ -29,8 +29,10 @@ #include "ascension/window.h" #include "ascension/context.h" +#include <GL/glew.h> + #include <assert.h> -#include <GL/glew.h> +#include <stdio.h> void asc_window_settings_init_defaults(AscWindowSettings *settings) { settings->dimensions.width = 800u; @@ -54,15 +56,13 @@ return; } - Uint32 flags = SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN; - flags |= settings->fullscreen ? SDL_WINDOW_FULLSCREEN_DESKTOP : SDL_WINDOW_RESIZABLE; + SDL_WindowFlags flags = SDL_WINDOW_OPENGL; + flags |= settings->fullscreen ? SDL_WINDOW_FULLSCREEN : SDL_WINDOW_RESIZABLE; window->window = SDL_CreateWindow( settings->title, - SDL_WINDOWPOS_CENTERED, - SDL_WINDOWPOS_CENTERED, - settings->dimensions.width, - settings->dimensions.height, + (int) settings->dimensions.width, + (int) settings->dimensions.height, flags ); if (window->window == NULL) { @@ -203,13 +203,13 @@ asc_vec2u asc_window_display_resolution(void) { const AscWindow *window = asc_active_window; - SDL_DisplayMode dm; - const int display = SDL_GetWindowDisplayIndex(window->window); - if (SDL_GetDesktopDisplayMode(display, &dm)) { + SDL_DisplayID display = SDL_GetDisplayForWindow(window->window); + const SDL_DisplayMode *dm = SDL_GetDesktopDisplayMode(display); + if (dm == NULL) { asc_error("Failed to get display mode for window %u on display %d: %s", window->id, display, SDL_GetError()); } - return ASC_VEC2U(dm.w, dm.h); + return ASC_VEC2U(dm->w, dm->h); } float asc_window_ui_scale(unsigned int index) {