Fixed StringView::GetText() related issued pointed out in review.
This commit is contained in:
@@ -270,8 +270,8 @@ public:
|
||||
explicit operator float() const;
|
||||
explicit operator double() const;
|
||||
explicit operator void*() const;
|
||||
explicit operator StringView() const;
|
||||
explicit operator StringAnsiView() const;
|
||||
explicit operator StringView() const; // Returned StringView, if not empty, is guaranteed to point to a null terminated buffer.
|
||||
explicit operator StringAnsiView() const; // Returned StringView, if not empty, is guaranteed to point to a null terminated buffer.
|
||||
explicit operator ScriptingObject*() const;
|
||||
explicit operator struct _MonoObject*() const;
|
||||
explicit operator Asset*() const;
|
||||
|
||||
@@ -23,9 +23,12 @@ void WindowsClipboard::Clear()
|
||||
|
||||
void WindowsClipboard::SetText(const StringView& text)
|
||||
{
|
||||
const int32 size = (text.Length() + 1) * sizeof(Char);
|
||||
const HGLOBAL hMem = GlobalAlloc(GMEM_MOVEABLE, size);
|
||||
Platform::MemoryCopy(GlobalLock(hMem), String(text).GetText(), size);
|
||||
const int32 sizeWithoutNull = text.Length() * sizeof(Char);
|
||||
const HGLOBAL hMem = GlobalAlloc(GMEM_MOVEABLE, sizeWithoutNull + sizeof(Char));
|
||||
|
||||
Char* pMem = static_cast<Char*>(GlobalLock(hMem));
|
||||
Platform::MemoryCopy(pMem, text.GetNonTerminatedText(), sizeWithoutNull);
|
||||
Platform::MemorySet(pMem + text.Length(), sizeof(Char), 0);
|
||||
GlobalUnlock(hMem);
|
||||
|
||||
OpenClipboard(nullptr);
|
||||
|
||||
@@ -1111,7 +1111,7 @@ int32 WindowsPlatform::RunProcess(const StringView& cmdLine, const StringView& w
|
||||
|
||||
// Create the process
|
||||
PROCESS_INFORMATION procInfo;
|
||||
if (!CreateProcessW(nullptr, const_cast<LPWSTR>(String(cmdLine).GetText()), nullptr, nullptr, TRUE, dwCreationFlags, (LPVOID)environmentStr, String(workingDir).GetText(), &startupInfoEx.StartupInfo, &procInfo))
|
||||
if (!CreateProcessW(nullptr, const_cast<LPWSTR>(String(cmdLine).GetText()), nullptr, nullptr, TRUE, dwCreationFlags, (LPVOID)environmentStr, workingDir.HasChars() ? workingDir.Get() : nullptr, &startupInfoEx.StartupInfo, &procInfo))
|
||||
{
|
||||
LOG(Warning, "Cannot start process '{0}'. Error code: 0x{1:x}", cmdLine, static_cast<int64>(GetLastError()));
|
||||
goto ERROR_EXIT;
|
||||
|
||||
@@ -166,7 +166,7 @@ namespace Flax.Build.Bindings
|
||||
if (typeInfo.Type == "String")
|
||||
return $"(StringView){value}";
|
||||
if (typeInfo.IsPtr && typeInfo.IsConst && typeInfo.Type == "Char")
|
||||
return $"((StringView){value}).GetNonTerminatedText()"; // This is a bug, as we need a null-terminated strig here. Any idea how to fix it?
|
||||
return $"((StringView){value}).GetNonTerminatedText()"; // (StringView)Variant, if not empty, is guaranteed to point to a null-terminated buffer.
|
||||
if (typeInfo.Type == "AssetReference" || typeInfo.Type == "WeakAssetReference")
|
||||
return $"ScriptingObject::Cast<{typeInfo.GenericArgs[0].Type}>((Asset*){value})";
|
||||
if (typeInfo.Type == "ScriptingObjectReference" || typeInfo.Type == "SoftObjectReference")
|
||||
|
||||
Reference in New Issue
Block a user