]> git.saurik.com Git - wxWidgets.git/commitdiff
Fix compilation in wxUSE_STL case broken by r69663.
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 10 Nov 2011 00:30:10 +0000 (00:30 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 10 Nov 2011 00:30:10 +0000 (00:30 +0000)
Don't rely on implicit wxString to char* conversion when calling
XRCID_Assign().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/xrc/xmlres.cpp

index cce060b76e4807d91188b509544b26e2d0098a1b..e0ad8d8515392fea8ce3497c4d77526f36df337d 100644 (file)
@@ -75,7 +75,7 @@ wxDateTime GetXRCFileModTime(const wxString& filename)
 
 // Assign the given value to the specified entry or add a new value with this
 // name.
-static void XRCID_Assign(const char *str_id, int value);
+static void XRCID_Assign(const wxString& str_id, int value);
 
 class wxXmlResourceDataRecord
 {
@@ -2491,15 +2491,16 @@ static inline unsigned XRCIdHash(const char *str_id)
     return index;
 }
 
-static void XRCID_Assign(const char *str_id, int value)
+static void XRCID_Assign(const wxString& str_id, int value)
 {
-    const unsigned index = XRCIdHash(str_id);
+    wxScopedCharBuffer buf_id(str_id.mb_str());
+    const unsigned index = XRCIdHash(buf_id);
 
 
     XRCID_record *oldrec = NULL;
     for (XRCID_record *rec = XRCID_Records[index]; rec; rec = rec->next)
     {
-        if (wxStrcmp(rec->key, str_id) == 0)
+        if (wxStrcmp(rec->key, buf_id) == 0)
         {
             rec->id = value;
             return;