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 --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%403562
This commit is contained in:
parent
a01cdb4253
commit
2bacdee082
1 changed files with 11 additions and 0 deletions
|
@ -570,6 +570,17 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
}
|
}
|
||||||
return (0);
|
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 */
|
/* We'll do our own drawing, prevent flicker */
|
||||||
case WM_ERASEBKGND:
|
case WM_ERASEBKGND:
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue