Browse Source

InputText: fix buffer modifications in callbacks while using resize callback (#4784)

Regressed by 5ac25e7c7 (#4762)
pull/4802/head
ocornut 3 years ago
parent
commit
eea836135a
  1. 3
      imgui_widgets.cpp

3
imgui_widgets.cpp

@ -4510,7 +4510,8 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_
callback(&callback_data); callback(&callback_data);
// Read back what user may have modified // Read back what user may have modified
IM_ASSERT(callback_data.Buf == callback_buf); // Invalid to modify those fields callback_buf = is_readonly ? buf : state->TextA.Data; // Pointer may have been invalidated by a resize callback
IM_ASSERT(callback_data.Buf == callback_buf); // Invalid to modify those fields
IM_ASSERT(callback_data.BufSize == state->BufCapacityA); IM_ASSERT(callback_data.BufSize == state->BufCapacityA);
IM_ASSERT(callback_data.Flags == flags); IM_ASSERT(callback_data.Flags == flags);
const bool buf_dirty = callback_data.BufDirty; const bool buf_dirty = callback_data.BufDirty;

Loading…
Cancel
Save