Win32 glutIconifyWindow() patch contributed by John F. Fay

Restrict resize callbacks to visible windows
When iconified via glutIconifyWindow(), don't pass (0,0) to resize callback
Note that minimising the window via the menu or minimise button is not yet resolved.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@443 7f0cb862-5218-0410-a997-914c9d46530a
This commit is contained in:
nigels 2004-01-05 15:49:14 +00:00
parent c342b2fe2a
commit b9b95cdc8c
2 changed files with 11 additions and 4 deletions

View File

@ -1214,11 +1214,16 @@ LRESULT CALLBACK fgWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam,
case WM_SIZE: case WM_SIZE:
/* /*
* We got resized... But check if the window has been already added... * If the window is visible, then it is the user manually resizing it.
* If it is not, then it is the system sending us a dummy resize with
* zero dimensions on a "glutIconifyWindow" call.
*/ */
window->State.NeedToResize = GL_TRUE; if( window->State.Visible )
window->State.Width = LOWORD(lParam); {
window->State.Height = HIWORD(lParam); window->State.NeedToResize = GL_TRUE;
window->State.Width = LOWORD(lParam);
window->State.Height = HIWORD(lParam);
}
break; break;
#if 0 #if 0
case WM_SETFOCUS: case WM_SETFOCUS:

View File

@ -719,6 +719,8 @@ void FGAPIENTRY glutIconifyWindow( void )
freeglut_assert_ready; freeglut_assert_ready;
freeglut_assert_window; freeglut_assert_window;
fgStructure.Window->State.Visible = GL_FALSE;
#if TARGET_HOST_UNIX_X11 #if TARGET_HOST_UNIX_X11
XIconifyWindow( fgDisplay.Display, fgStructure.Window->Window.Handle, XIconifyWindow( fgDisplay.Display, fgStructure.Window->Window.Handle,