Skip to content

Commit d7191a7

Browse files
committed
vulkan_sdl2: check some SDL calls
1 parent 2c2dcc2 commit d7191a7

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

src/video_display/vulkan/vulkan_sdl2.cpp

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,15 @@ constexpr int magic_vulkan_sdl2 = 0x3cc234a2;
109109
constexpr int initial_frame_count = 0;
110110
#define MOD_NAME "[VULKAN_SDL2] "
111111

112+
#define SDL_CHECK(cmd, ...) \
113+
do { \
114+
int ret = cmd; \
115+
if (ret < 0) { \
116+
log_msg(LOG_LEVEL_ERROR, MOD_NAME "Error (%s): %s\n", \
117+
#cmd, SDL_GetError()); \
118+
__VA_ARGS__; \
119+
} \
120+
} while (0)
112121

113122
void display_vulkan_new_message(module*);
114123
video_frame* display_vulkan_getf(void* state);
@@ -283,9 +292,11 @@ constexpr bool display_vulkan_process_key(state_vulkan_sdl2& s, int64_t key) {
283292
case 'f': {
284293
s.fullscreen = !s.fullscreen;
285294
int mouse_x = 0, mouse_y = 0;
286-
SDL_GetGlobalMouseState(&mouse_x, &mouse_y);
287-
SDL_SetWindowFullscreen(s.window, s.fullscreen ? SDL_WINDOW_FULLSCREEN_DESKTOP : 0);
288-
SDL_WarpMouseGlobal(mouse_x, mouse_y);
295+
SDL_CHECK(SDL_GetGlobalMouseState(&mouse_x, &mouse_y));
296+
SDL_CHECK(SDL_SetWindowFullscreen(
297+
s.window,
298+
s.fullscreen ? SDL_WINDOW_FULLSCREEN_DESKTOP : 0));
299+
SDL_CHECK(SDL_WarpMouseGlobal(mouse_x, mouse_y));
289300
return true;
290301
}
291302
case 'q':
@@ -966,7 +977,7 @@ void display_vulkan_new_message(module* mod) {
966977

967978
SDL_Event event{};
968979
event.type = s->sdl_user_new_message_event;
969-
SDL_PushEvent(&event);
980+
SDL_CHECK(SDL_PushEvent(&event));
970981
}
971982

972983

0 commit comments

Comments
 (0)