]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/choice.cpp
fixed crash introduced by recently applied autowidth patch (patch 1171455)
[wxWidgets.git] / src / os2 / choice.cpp
index b980792934bc8a4037ee4f858c7e6517e05b1f48..9e4e5e1378557ef75b7ce4f141c244c13ce9ef18 100644 (file)
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
+#include "wx/defs.h"
+
+#if wxUSE_CHOICE
+
 #ifndef WX_PRECOMP
     #include "wx/choice.h"
     #include "wx/utils.h"
 #ifndef WX_PRECOMP
     #include "wx/choice.h"
     #include "wx/utils.h"
@@ -62,7 +66,7 @@ bool wxChoice::Create(
                        ,rValidator
                        ,rsName
                       ))
                        ,rValidator
                        ,rsName
                       ))
-        return FALSE;
+        return false;
     lSstyle = CBS_DROPDOWNLIST |
               WS_TABSTOP       |
               WS_VISIBLE;
     lSstyle = CBS_DROPDOWNLIST |
               WS_TABSTOP       |
               WS_VISIBLE;
@@ -79,7 +83,7 @@ bool wxChoice::Create(
     if (!OS2CreateControl( wxT("COMBOBOX")
                           ,lSstyle
                          ))
     if (!OS2CreateControl( wxT("COMBOBOX")
                           ,lSstyle
                          ))
-        return FALSE;
+        return false;
 
     //
     // A choice/combobox normally has a white background (or other, depending
 
     //
     // A choice/combobox normally has a white background (or other, depending
@@ -102,7 +106,7 @@ bool wxChoice::Create(
             ,rSize.y
            );
     delete pTextFont;
             ,rSize.y
            );
     delete pTextFont;
-    return TRUE;
+    return true;
 } // end of wxChoice::Create
 
 // ----------------------------------------------------------------------------
 } // end of wxChoice::Create
 
 // ----------------------------------------------------------------------------
@@ -114,7 +118,7 @@ int wxChoice::DoAppend(
 )
 {
     int                             nIndex;
 )
 {
     int                             nIndex;
-    SHORT                           nIndexType = 0;
+    LONG                            nIndexType = 0;
 
     if (m_windowStyle & wxLB_SORT)
         nIndexType = LIT_SORTASCENDING;
 
     if (m_windowStyle & wxLB_SORT)
         nIndexType = LIT_SORTASCENDING;
@@ -140,7 +144,7 @@ int wxChoice::DoInsert(
         return DoAppend(rsItem);
 
     int                             nIndex;
         return DoAppend(rsItem);
 
     int                             nIndex;
-    SHORT                           nIndexType = 0;
+    LONG                            nIndexType = 0;
 
     if (m_windowStyle & wxLB_SORT)
         nIndexType = LIT_SORTASCENDING;
 
     if (m_windowStyle & wxLB_SORT)
         nIndexType = LIT_SORTASCENDING;
@@ -227,7 +231,7 @@ void wxChoice::SetString(
 , const wxString&                   rsStr
 )
 {
 , const wxString&                   rsStr
 )
 {
-    SHORT                           nIndexType = 0;
+    LONG                            nIndexType = 0;
     void*                           pData;
 
     if ( m_clientDataItemsType != wxClientData_None )
     void*                           pData;
 
     if ( m_clientDataItemsType != wxClientData_None )
@@ -263,7 +267,7 @@ wxString wxChoice::GetString(
   int                               n
 ) const
 {
   int                               n
 ) const
 {
-    size_t                          nLen = 0;
+    int                             nLen = 0;
     wxString                        sStr = "";
     char*                           zBuf;
 
     wxString                        sStr = "";
     char*                           zBuf;
 
@@ -334,7 +338,7 @@ void wxChoice::DoSetSize(
     //
     // Ignore height parameter because height doesn't mean 'initially
     // displayed' height, it refers to the drop-down menu as well. The
     //
     // Ignore height parameter because height doesn't mean 'initially
     // displayed' height, it refers to the drop-down menu as well. The
-    // wxWindows interpretation is different; also, getting the size returns
+    // wxWidgets interpretation is different; also, getting the size returns
     // the _displayed_ size (NOT the drop down menu size) so
     // setting-getting-setting size would not work.
     //
     // the _displayed_ size (NOT the drop down menu size) so
     // setting-getting-setting size would not work.
     //
@@ -356,6 +360,7 @@ wxSize wxChoice::DoGetBestSize() const
     int                             nItems = GetCount();
     int                             nCx;
     int                             nCy;
     int                             nItems = GetCount();
     int                             nCx;
     int                             nCy;
+    wxFont                          vFont = (wxFont)GetFont();
 
     for (int i = 0; i < nItems; i++)
     {
 
     for (int i = 0; i < nItems; i++)
     {
@@ -382,7 +387,7 @@ wxSize wxChoice::DoGetBestSize() const
     wxGetCharSize( GetHWND()
                   ,&nCx
                   ,&nCy
     wxGetCharSize( GetHWND()
                   ,&nCx
                   ,&nCy
-                  ,(wxFont*)&GetFont()
+                  ,&vFont
                  );
     nChoiceWidth += 5 * nCx;
 
                  );
     nChoiceWidth += 5 * nCx;
 
@@ -419,7 +424,7 @@ bool wxChoice::OS2Command(
         //
         // "selection changed" is the only event we're after
         //
         //
         // "selection changed" is the only event we're after
         //
-        return FALSE;
+        return false;
     }
     int                             n = GetSelection();
 
     }
     int                             n = GetSelection();
 
@@ -438,7 +443,7 @@ bool wxChoice::OS2Command(
             vEvent.SetClientData(GetClientData(n));
         ProcessCommand(vEvent);
     }
             vEvent.SetClientData(GetClientData(n));
         ProcessCommand(vEvent);
     }
-    return TRUE;
+    return true;
 } // end of wxChoice::OS2Command
 
 void wxChoice::Free()
 } // end of wxChoice::OS2Command
 
 void wxChoice::Free()
@@ -452,4 +457,6 @@ void wxChoice::Free()
             delete GetClientObject(n);
         }
     }
             delete GetClientObject(n);
         }
     }
-} // end of wxhoice::Free
+} // end of wxChoice::Free
+
+#endif // wxUSE_CHOICE