From ca9b7c8ea33488f62eff6787eec433aa78f2a9ca Mon Sep 17 00:00:00 2001 From: Frank Praznik Date: Wed, 18 Jun 2025 09:21:09 -0400 Subject: [PATCH] video: Explicitly disallow setting the parent of a window to itself Doing so causes a cycle in the window hierarchy tree graph, which leads to infinite recursion when destroying the windows. --- src/video/SDL_video.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c index a1b1bba1c5..d42ecd492a 100644 --- a/src/video/SDL_video.c +++ b/src/video/SDL_video.c @@ -3672,6 +3672,10 @@ bool SDL_SetWindowParent(SDL_Window *window, SDL_Window *parent) CHECK_WINDOW_NOT_POPUP(parent, false); } + if (window == parent) { + return SDL_SetError("Cannot set the parent of a window to itself."); + } + if (!_this->SetWindowParent) { return SDL_Unsupported(); }