John's fix for the minimize/close/maximize controls no longer working.
authorRichard Rauch <rkr@olib.org>
Mon, 10 Nov 2003 18:19:53 +0000 (18:19 +0000)
committerRichard Rauch <rkr@olib.org>
Mon, 10 Nov 2003 18:19:53 +0000 (18:19 +0000)
WIN32 expected us to pass the message on up the chain (or do something
else with it), rather than just throwing away the event, for a certain
class of events.  (See the diffs for more details.)

The code is also slightly reformatted from what was previously in the
repository.

git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@334 7f0cb862-5218-0410-a997-914c9d46530a

src/freeglut_main.c

index 32f2750..823087b 100644 (file)
@@ -1688,70 +1688,73 @@ LRESULT CALLBACK fgWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam,
         break;
 
     case WM_SYSCOMMAND :  /* 0x0112 */
-      {
-        /*
-         * We have received a system command message.  Try to act on it.
-         * The commands are passed in through the "lParam" parameter:
-         * Clicking on a corner to resize the window gives a "F004" message
-         * but this is not defined in my header file.
-         */
-          switch ( lParam )
-          {
-          case SC_SIZE       :
-              break ;
+        {
+          /*
+           * We have received a system command message.  Try to act on it.
+           * The commands are passed in through the "lParam" parameter:
+           * Clicking on a corner to resize the window gives a "F004" message
+           * but this is not defined in my header file.
+           */
+            switch ( lParam )
+            {
+            case SC_SIZE       :
+                break ;
 
-          case SC_MOVE       :
-              break ;
+            case SC_MOVE       :
+                break ;
 
-          case SC_MINIMIZE   :
-              /* User has clicked on the "-" to minimize the window */
-              /* Turn off the visibility */
-              window->State.Visible = GL_FALSE ;
+            case SC_MINIMIZE   :
+                /* User has clicked on the "-" to minimize the window */
+                /* Turn off the visibility */
+                window->State.Visible = GL_FALSE ;
 
-              break ;
+                break ;
 
-          case SC_MAXIMIZE   :
-              break ;
+            case SC_MAXIMIZE   :
+                break ;
 
-          case SC_NEXTWINDOW :
-              break ;
+            case SC_NEXTWINDOW :
+                break ;
 
-          case SC_PREVWINDOW :
-              break ;
+            case SC_PREVWINDOW :
+                break ;
 
-          case SC_CLOSE      :
-              /* Followed very closely by a WM_CLOSE message */
-              break ;
+            case SC_CLOSE      :
+                /* Followed very closely by a WM_CLOSE message */
+                break ;
 
-          case SC_VSCROLL    :
-              break ;
+            case SC_VSCROLL    :
+                break ;
 
-          case SC_HSCROLL    :
-              break ;
+            case SC_HSCROLL    :
+                break ;
 
-          case SC_MOUSEMENU  :
-              break ;
+            case SC_MOUSEMENU  :
+                break ;
 
-          case SC_KEYMENU    :
-              break ;
+            case SC_KEYMENU    :
+                break ;
 
-          case SC_ARRANGE    :
-              break ;
+            case SC_ARRANGE    :
+                break ;
 
-          case SC_RESTORE    :
-              break ;
+            case SC_RESTORE    :
+                break ;
 
-          case SC_TASKLIST   :
-              break ;
+            case SC_TASKLIST   :
+                break ;
 
-          case SC_SCREENSAVE :
-              break ;
+            case SC_SCREENSAVE :
+                break ;
 
-          case SC_HOTKEY     :
-              break ;
-          }
-      }
-      break ;
+            case SC_HOTKEY     :
+                break ;
+            }
+        }
+
+        /* We need to pass the message on to the operating system as well */
+        lRet = DefWindowProc( hWnd, uMsg, wParam, lParam );
+        break;
 
     default:
         /*