X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fmswin%2Ffg_window_mswin.c;h=c0efc9b23bd6cc53d90506f33117d9dcc987d4da;hb=18bf83a00e2af9d24ee171b70ec345b70fc661f0;hp=4365b8c6a243c553154f3d6d8ff52cf8c5bcb9bc;hpb=0b5007df01a3f60ad5eb690c805153d6fa7760c0;p=freeglut diff --git a/src/mswin/fg_window_mswin.c b/src/mswin/fg_window_mswin.c index 4365b8c..c0efc9b 100644 --- a/src/mswin/fg_window_mswin.c +++ b/src/mswin/fg_window_mswin.c @@ -701,10 +701,7 @@ void fgPlatformOpenWindow( SFG_Window* window, const char* title, fgError( "Failed to create a window (%s)!", title ); /* Store title */ - { - window->State.pWState.WindowTitle = malloc (strlen(title) + 1); - strcpy(window->State.pWState.WindowTitle, title); - } + window->State.pWState.WindowTitle = strdup(title); #if !defined(_WIN32_WCE) /* Need to set requested style again, apparently Windows doesn't listen when requesting windows without title bar or borders */ @@ -732,8 +729,11 @@ void fgPlatformOpenWindow( SFG_Window* window, const char* title, #if defined(_WIN32_WCE) ShowWindow( window->Window.Handle, SW_SHOW ); #else - ShowWindow( window->Window.Handle, - fgState.ForceIconic ? SW_SHOWMINIMIZED : SW_SHOWNORMAL ); + { + BOOL iconic = fgState.ForceIconic && !window->IsMenu && !gameMode && !isSubWindow; + ShowWindow( window->Window.Handle, + iconic ? SW_SHOWMINIMIZED : SW_SHOWNORMAL ); + } #endif /* defined(_WIN32_WCE) */ ShowCursor( TRUE ); @@ -917,7 +917,8 @@ void fgPlatformGlutSetWindowTitle( const char* title ) free(wstr); } #else - SetWindowText( fgStructure.CurrentWindow->Window.Handle, title ); + if (!IsIconic(fgStructure.CurrentWindow->Window.Handle)) + SetWindowText( fgStructure.CurrentWindow->Window.Handle, title ); #endif /* Make copy of string to refer to later */ @@ -931,6 +932,11 @@ void fgPlatformGlutSetWindowTitle( const char* title ) */ void fgPlatformGlutSetIconTitle( const char* title ) { +#ifndef _WIN32_WCE + if (IsIconic(fgStructure.CurrentWindow->Window.Handle)) + SetWindowText( fgStructure.CurrentWindow->Window.Handle, title ); +#endif + /* Make copy of string to refer to later */ if (fgStructure.CurrentWindow->State.pWState.IconTitle) free(fgStructure.CurrentWindow->State.pWState.IconTitle);