|
@@ -4052,8 +4052,16 @@ void ImGui::InputTextDeactivateHook(ImGuiID id)
|
|
|
if (id == 0 || state->ID != id)
|
|
|
return;
|
|
|
g.InputTextDeactivatedState.ID = state->ID;
|
|
|
- g.InputTextDeactivatedState.TextA.resize(state->CurLenA + 1);
|
|
|
- memcpy(g.InputTextDeactivatedState.TextA.Data, state->TextA.Data ? state->TextA.Data : "", state->CurLenA + 1);
|
|
|
+ if (state->Flags & ImGuiInputTextFlags_ReadOnly)
|
|
|
+ {
|
|
|
+ g.InputTextDeactivatedState.TextA.resize(0); // In theory this data won't be used, but clear to be neat.
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ IM_ASSERT(state->TextA.Data != 0);
|
|
|
+ g.InputTextDeactivatedState.TextA.resize(state->CurLenA + 1);
|
|
|
+ memcpy(g.InputTextDeactivatedState.TextA.Data, state->TextA.Data, state->CurLenA + 1);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// Edit a string of text
|