diff --git a/test/testwm.c b/test/testwm.c index c92cd98bbc..3315aea381 100644 --- a/test/testwm.c +++ b/test/testwm.c @@ -47,7 +47,7 @@ SDL_COMPILE_TIME_ASSERT(cursorNames, SDL_arraysize(cursorNames) == SDL_SYSTEM_CU static int system_cursor = -1; static SDL_Cursor *cursor = NULL; -static const SDL_DisplayMode *highlighted_mode = NULL; +static SDL_DisplayMode highlighted_mode; /* Draws the modes menu, and stores the mode index under the mouse in highlighted_mode */ static void @@ -95,7 +95,7 @@ draw_modes_menu(SDL_Window *window, SDL_Renderer *renderer, SDL_FRect viewport) /* Clear the cached mode under the mouse */ if (window == SDL_GetMouseFocus()) { - highlighted_mode = NULL; + SDL_zero(highlighted_mode); } displays = SDL_GetDisplays(NULL); @@ -126,7 +126,7 @@ draw_modes_menu(SDL_Window *window, SDL_Renderer *renderer, SDL_FRect viewport) /* Update cached mode under the mouse */ if (window == SDL_GetMouseFocus()) { - highlighted_mode = mode; + SDL_copyp(&highlighted_mode, mode); } } else { SDL_SetRenderDrawColor(renderer, 170, 170, 170, 255); @@ -213,9 +213,9 @@ static void loop(void) } if (event.type == SDL_EVENT_MOUSE_BUTTON_UP) { SDL_Window *window = SDL_GetMouseFocus(); - if (highlighted_mode && window) { - SDL_memcpy(&state->fullscreen_mode, highlighted_mode, sizeof(state->fullscreen_mode)); - SDL_SetWindowFullscreenMode(window, highlighted_mode); + if (highlighted_mode.w && window) { + SDL_copyp(&state->fullscreen_mode, &highlighted_mode, sizeof(state->fullscreen_mode)); + SDL_SetWindowFullscreenMode(window, &highlighted_mode); } } }