callign entryfunc should not steal the current window, so save before calling and restore after callback returns

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1549 7f0cb862-5218-0410-a997-914c9d46530a
This commit is contained in:
dcnieho 2013-03-04 09:25:15 +00:00
parent 76f9c9a902
commit 5398d76b76

View File

@ -601,7 +601,9 @@ LRESULT CALLBACK fgPlatformWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPAR
*/ */
if (FETCH_WCB( *window, Entry )) if (FETCH_WCB( *window, Entry ))
{ {
SFG_Window* saved_window = fgStructure.CurrentWindow;
INVOKE_WCB( *window, Entry, ( GLUT_ENTERED ) ); INVOKE_WCB( *window, Entry, ( GLUT_ENTERED ) );
fgSetWindow(saved_window);
tme.cbSize = sizeof(TRACKMOUSEEVENT); tme.cbSize = sizeof(TRACKMOUSEEVENT);
tme.dwFlags = TME_LEAVE; tme.dwFlags = TME_LEAVE;