From 6149a1bd2ad853a0a1f6c465938f3e1d6d2cfe90 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Fri, 22 Jan 2010 16:17:11 +0000 Subject: [PATCH] update window prev links --- src/video/SDL_video.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c index 96af1e21f..7f9bf1abe 100644 --- a/src/video/SDL_video.c +++ b/src/video/SDL_video.c @@ -903,6 +903,9 @@ SDL_CreateWindow(const char *title, int x, int y, int w, int h, Uint32 flags) window->flags = (flags & allowed_flags); window->display = display; window->next = display->windows; + if (display->windows) { + display->windows->prev = window; + } display->windows = window; if (_this->CreateWindow && _this->CreateWindow(_this, window) < 0) { @@ -943,6 +946,9 @@ SDL_CreateWindowFrom(const void *data) window->flags = SDL_WINDOW_FOREIGN; window->display = display; window->next = display->windows; + if (display->windows) { + display->windows->prev = window; + } display->windows = window; if (!_this->CreateWindowFrom || @@ -1452,6 +1458,9 @@ SDL_DestroyWindow(SDL_Window * window) /* Unlink the window from the list */ display = window->display; + if (window->next) { + window->next->prev = window->prev; + } if (window->prev) { window->prev->next = window->next; } else {