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
// Assign the given value to the specified entry or add a new value with this
// name.
// 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
{
class wxXmlResourceDataRecord
{
-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)
{
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;
{
rec->id = value;
return;