From 0cf106fa6a10a6234b1224c8e1543fd2a4119b26 Mon Sep 17 00:00:00 2001 From: Alex Szpakowski Date: Fri, 28 Sep 2018 20:51:41 -0300 Subject: [PATCH] Keep a reference to the SDL video subsystem in the mouse module, since cursors need it. Potentially resolves issue #1388. --- src/modules/mouse/sdl/Mouse.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/modules/mouse/sdl/Mouse.cpp b/src/modules/mouse/sdl/Mouse.cpp index cc026ce6a..802cdaa01 100644 --- a/src/modules/mouse/sdl/Mouse.cpp +++ b/src/modules/mouse/sdl/Mouse.cpp @@ -57,6 +57,9 @@ const char *Mouse::getName() const Mouse::Mouse() : curCursor(nullptr) { + // SDL may need the video subsystem in order to clean up the cursor when + // quitting. Subsystems are reference-counted. + SDL_InitSubSystem(SDL_INIT_VIDEO); } Mouse::~Mouse() @@ -66,6 +69,8 @@ Mouse::~Mouse() for (auto &c : systemCursors) c.second->release(); + + SDL_QuitSubSystem(SDL_INIT_VIDEO); } love::mouse::Cursor *Mouse::newCursor(love::image::ImageData *data, int hotx, int hoty)