]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/msgdlg.cpp
several mac fixes (Mark Newsams patches)
[wxWidgets.git] / src / mac / msgdlg.cpp
index 5aa8554038e4959c5e492e2f80a5c1c413f5f1ec..064d9bbba6076aa4a82ad3e515eadc4f0e06e217 100644 (file)
@@ -13,6 +13,7 @@
 #pragma implementation "msgdlg.h"
 #endif
 
+#include "wx/app.h"
 #include "wx/msgdlg.h"
 #include "wx/mac/uma.h"
 
@@ -71,12 +72,38 @@ int wxMessageDialog::ShowModal()
        short result ;
        Str255 pascalTitle ;
        Str255 pascalText ;
+       char   cText[256] ;
        
-       strcpy( (char*) pascalTitle , m_caption ) ;
-       c2pstr( (char*) pascalTitle ) ;
-       strcpy( (char*) pascalText , m_message ) ;
-       wxMacConvertNewlines( (char*)pascalText ,(char*) pascalText) ;
-       c2pstr( (char*) pascalText ) ;
+       if (wxApp::s_macDefaultEncodingIsPC)
+       {
+#if TARGET_CARBON
+               c2pstrcpy( (StringPtr) pascalTitle , wxMacMakeMacStringFromPC( m_caption ) ) ;
+#else
+               strcpy( (char *) pascalTitle , wxMacMakeMacStringFromPC( m_caption ) ) ;
+               c2pstr( (char *) pascalTitle ) ;
+#endif
+               strcpy(cText , wxMacMakeMacStringFromPC( m_message) ) ;
+       }
+       else
+       {
+#if TARGET_CARBON
+               c2pstrcpy( (StringPtr) pascalTitle , m_caption ) ;
+#else
+               strcpy( (char *) pascalTitle , m_caption ) ;
+               c2pstr( (char *) pascalTitle ) ;
+#endif
+               strcpy( cText , m_message ) ;
+       }
+
+       wxMacConvertNewlines( cText , cText ) ;
+#if TARGET_CARBON
+       c2pstrcpy( (StringPtr) pascalText , cText ) ;
+#else
+       strcpy( (char *) pascalText , cText ) ;
+       c2pstr( (char *) pascalText ) ;
+#endif
+
+       wxASSERT_MSG( ( m_dialogStyle & 0x3F ) != wxYES , "this style is not supported on mac" ) ;
 
        if ( !UMAHasAppearance() )
        {