]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/settcmn.cpp
fixing overrelease and out-of-bounds write, fixes #13725
[wxWidgets.git] / src / common / settcmn.cpp
index 977bc712076ee10aa88a8c1979eebfbf6f01e69c..4c99c292a172fab7b55c42b3a315df5df03fd095 100644 (file)
@@ -1,9 +1,9 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        common/settcmn.cpp
+// Name:        src/common/settcmn.cpp
 // Purpose:     common (to all ports) wxWindow functions
 // Author:      Robert Roebling
 // RCS-ID:      $Id$
-// Copyright:   (c) wxWindows team
+// Copyright:   (c) wxWidgets team
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // headers
 // ----------------------------------------------------------------------------
 
-#ifdef __GNUG__
-    #pragma implementation "settings.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
     #pragma hdrstop
 #endif
 
+#include "wx/settings.h"
+
 #ifndef WX_PRECOMP
-    #include "wx/defs.h"
     #include "wx/utils.h"
-    #include "wx/settings.h"
 #endif //WX_PRECOMP
 
 // ----------------------------------------------------------------------------
@@ -44,34 +40,30 @@ wxSystemScreenType wxSystemSettings::ms_screen = wxSYS_SCREEN_NONE;
 wxSystemScreenType wxSystemSettings::GetScreenType()
 {
     if (ms_screen == wxSYS_SCREEN_NONE)
-#ifndef __WXUNIVERSAL__
-    {
-        // As a start, all GUI are desktops.
-        ms_screen = wxSYS_SCREEN_DESKTOP;
-    }
-#else
     {
         // wxUniv will be used on small devices, too.
         int x = GetMetric( wxSYS_SCREEN_X );
 
         ms_screen = wxSYS_SCREEN_DESKTOP;
-            
+
         if (x < 800)
             ms_screen = wxSYS_SCREEN_SMALL;
-            
+
         if (x < 640)
             ms_screen = wxSYS_SCREEN_PDA;
-            
+
         if (x < 200)
             ms_screen = wxSYS_SCREEN_TINY;
+
+        // This is probably a bug, but VNC seems to report 0
+        if (x < 10)
+            ms_screen = wxSYS_SCREEN_DESKTOP;
     }
-#endif
 
     return ms_screen;
 }
-    
+
 void wxSystemSettings::SetScreenType( wxSystemScreenType screen )
 {
     ms_screen = screen;
 }
-