From a223560a7f765c746c5294eb5ae7a03e24e71c83 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Fri, 13 Oct 2017 19:30:34 -0700 Subject: [PATCH] Fixed bug 3880 - X Error upon quit since rev. 11607 Ozkan Sezer Since changeset 11607:60cd425a2f14, I am getting the following error upon quit. Running testsprite2, clicking the mouse, and quiting it is enough to trigger it. This is on my old Fedora9 x86-Linux: X Error of failed request: BadCursor (invalid Cursor parameter) Major opcode of failed request: 2 (X_ChangeWindowAttributes) Resource id in failed request: 0xb057340 Serial number of failed request: 905 Current serial number in output stream: 906 Reverting https://hg.libsdl.org/SDL/rev/60cd425a2f14 removes the error. --- src/events/SDL_mouse.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/events/SDL_mouse.c b/src/events/SDL_mouse.c index 794eafe1e62e6..80c367f88be3b 100644 --- a/src/events/SDL_mouse.c +++ b/src/events/SDL_mouse.c @@ -580,13 +580,16 @@ SDL_MouseQuit(void) SDL_FreeCursor(cursor); cursor = next; } + mouse->cursors = NULL; if (mouse->def_cursor && mouse->FreeCursor) { mouse->FreeCursor(mouse->def_cursor); + mouse->def_cursor = NULL; } if (mouse->clickstate) { SDL_free(mouse->clickstate); + mouse->clickstate = NULL; } SDL_DelHintCallback(SDL_HINT_MOUSE_NORMAL_SPEED_SCALE,