diff --git a/renderdoc/replay/basic_types.cpp b/renderdoc/replay/basic_types.cpp index bec8b181a..f53e5f6f8 100644 --- a/renderdoc/replay/basic_types.cpp +++ b/renderdoc/replay/basic_types.cpp @@ -33,7 +33,8 @@ wstr &wstr::operator =(const std::wstring &in) count = (int32_t)in.size(); if(count == 0) { - elems = L""; + elems = (wchar_t*)allocate(1); + elems[0] = 0; } else { @@ -50,7 +51,8 @@ str &str::operator =(const std::string &in) count = (int32_t)in.size(); if(count == 0) { - elems = ""; + elems = (char*)allocate(1); + elems[0] = 0; } else { @@ -67,7 +69,8 @@ wstr &wstr::operator =(const wchar_t *const in) count = (int32_t)wcslen(in); if(count == 0) { - elems = L""; + elems = (wchar_t*)allocate(1); + elems[0] = 0; } else { @@ -84,7 +87,8 @@ str &str::operator =(const char *const in) count = (int32_t)strlen(in); if(count == 0) { - elems = ""; + elems = (char*)allocate(1); + elems[0] = 0; } else { diff --git a/renderdoc/replay/basic_types.h b/renderdoc/replay/basic_types.h index 33272014b..dc3780001 100644 --- a/renderdoc/replay/basic_types.h +++ b/renderdoc/replay/basic_types.h @@ -124,7 +124,8 @@ struct str : public rdctype::array count = o.count; if(count == 0) { - elems = ""; + elems = (char*)allocate(1); + elems[0] = 0; } else { @@ -153,7 +154,8 @@ struct wstr : public rdctype::array count = o.count; if(count == 0) { - elems = L""; + elems = (wchar_t*)allocate(1); + elems[0] = 0; } else {