From 9d9845d063019082dd0f386473c120f56e686e5d 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. (cherry picked from commit ca9b7c8ea33488f62eff6787eec433aa78f2a9ca) --- 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 db38a19d0d..97e56ffce1 100644 --- a/src/video/SDL_video.c +++ b/src/video/SDL_video.c @@ -3661,6 +3661,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(); }