+ {
+ SFG_Window* wnd = NULL;
+ HWND hwnd = GetForegroundWindow(); /* Get window with current focus */
+ if (hwnd)
+ /* See if its one of our windows */
+ wnd = fgWindowByHandle(hwnd);
+
+ if (!hwnd || !wnd)
+ /* User switched to another application*/
+ fgDeactivateMenu(window->ActiveMenu->ParentWindow);
+ else if (
+ ( wnd->IsMenu && wnd->ActiveMenu->ParentWindow!=window->ActiveMenu->ParentWindow) || /* Make sure we don't kill the menu when trying to enter a submenu */
+ (!wnd->IsMenu && wnd!=window->ActiveMenu->ParentWindow)
+ )
+ /* User switched to another FreeGLUT window */
+ fgDeactivateMenu(window->ActiveMenu->ParentWindow);
+ }