X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fmswin%2Ffg_main_mswin.c;h=be412baaa6dfed0f93b3b3075b6caeabc7f6e629;hb=e5f1f71e1417e64b104f9a82987665a75b7a9585;hp=bed1eb8a7a8911b43d3e66cd63850b2b8ebd567f;hpb=42858958aa7357b40e7aa29068054a26c020642e;p=freeglut diff --git a/src/mswin/fg_main_mswin.c b/src/mswin/fg_main_mswin.c index bed1eb8..be412ba 100644 --- a/src/mswin/fg_main_mswin.c +++ b/src/mswin/fg_main_mswin.c @@ -138,7 +138,7 @@ static void fghUpdateWindowStatus(SFG_Window *window, GLboolean visState) INVOKE_WCB( *window, WindowStatus, ( visState ? GLUT_FULLY_RETAINED:GLUT_HIDDEN ) ); } - /* Also notify children */ + /* Also set visibility state for children */ for( child = ( SFG_Window * )window->Children.First; child; child = ( SFG_Window * )child->Node.Next ) @@ -168,12 +168,13 @@ void fgPlatformMainLoopPreliminaryWork ( void ) /* * Processing before the main loop: If there is a window which is open and - * which has a visibility callback, call it. I know this is an ugly hack, - * but I'm not sure what else to do about it. Ideally we should leave - * something uninitialized in the create window code and initialize it in - * the main loop, and have that initialization create a "WM_ACTIVATE" - * message. Then we would put the visibility callback code in the - * "case WM_ACTIVATE" block below. - John Fay -- 10/24/02 + * which has a visibility/windowStatus callback, call it to inform the client + * code that the window is visible. I know this is an ugly hack, + * but I'm not sure what else to do about it. Depending on WM_ACTIVATE would + * not work as not all windows get this when you are opening multiple before + * the mainloop starts. WM_SHOWWINDOW looked like an interesting candidate, but + * it is generated and processed before glutCreate(Sub)Window returns, so no + * callback can yet be set on the window. */ while( window ) {