Mercurial > sdl-ios-xcode
changeset 3095:75483112b97f
Date: Sat, 21 Mar 2009 19:41:52 -0700 (PDT)
From: Mason Wheeler
Subject: [SDL] Critical SDL 1.3 patch
Displaying a window created with SDL_CreateWindowFrom was causing stack overf
lows for me under certain conditions. After far too much work trying to get
Visual Studio's debugger to play nice with a program written in Delphi, I tra
cked it down to a nasty reentrancy cycle in the WndProc handling. Here's a p
atch that fixes the problem
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 23 Mar 2009 02:02:30 +0000 |
parents | c0ce3380742d |
children | ae4e80dbe330 |
files | src/video/win32/SDL_win32events.c |
diffstat | 1 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/video/win32/SDL_win32events.c Sun Mar 22 06:56:37 2009 +0000 +++ b/src/video/win32/SDL_win32events.c Mon Mar 23 02:02:30 2009 +0000 @@ -570,6 +570,17 @@ } return (0); + /* If this isn't our window, we don't need to repaint the frame. + This fixes a reentrancy issue that can cause stack overflows with foreign windows. + 3/21/09 Mason Wheeler */ + case WM_NCPAINT: + { + if (SDL_GetWindowFlags(data->windowID) && SDL_WINDOW_FOREIGN) { + return(0); + } + break; + } + /* We'll do our own drawing, prevent flicker */ case WM_ERASEBKGND: {