|
@@ -4124,13 +4124,18 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_
|
|
item_data_backup = g.LastItemData;
|
|
item_data_backup = g.LastItemData;
|
|
window->DC.CursorPos = backup_pos;
|
|
window->DC.CursorPos = backup_pos;
|
|
|
|
|
|
|
|
+ // Prevent NavActivate reactivating in BeginChild().
|
|
|
|
+ const ImGuiID backup_activate_id = g.NavActivateId;
|
|
|
|
+ if (g.ActiveId == id) // Prevent reactivation
|
|
|
|
+ g.NavActivateId = 0;
|
|
|
|
+
|
|
// We reproduce the contents of BeginChildFrame() in order to provide 'label' so our window internal data are easier to read/debug.
|
|
// We reproduce the contents of BeginChildFrame() in order to provide 'label' so our window internal data are easier to read/debug.
|
|
- // FIXME-NAV: Pressing NavActivate will trigger general child activation right before triggering our own below. Harmless but bizarre.
|
|
|
|
PushStyleColor(ImGuiCol_ChildBg, style.Colors[ImGuiCol_FrameBg]);
|
|
PushStyleColor(ImGuiCol_ChildBg, style.Colors[ImGuiCol_FrameBg]);
|
|
PushStyleVar(ImGuiStyleVar_ChildRounding, style.FrameRounding);
|
|
PushStyleVar(ImGuiStyleVar_ChildRounding, style.FrameRounding);
|
|
PushStyleVar(ImGuiStyleVar_ChildBorderSize, style.FrameBorderSize);
|
|
PushStyleVar(ImGuiStyleVar_ChildBorderSize, style.FrameBorderSize);
|
|
PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(0, 0)); // Ensure no clip rect so mouse hover can reach FramePadding edges
|
|
PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(0, 0)); // Ensure no clip rect so mouse hover can reach FramePadding edges
|
|
bool child_visible = BeginChildEx(label, id, frame_bb.GetSize(), true, ImGuiWindowFlags_NoMove);
|
|
bool child_visible = BeginChildEx(label, id, frame_bb.GetSize(), true, ImGuiWindowFlags_NoMove);
|
|
|
|
+ g.NavActivateId = backup_activate_id;
|
|
PopStyleVar(3);
|
|
PopStyleVar(3);
|
|
PopStyleColor();
|
|
PopStyleColor();
|
|
if (!child_visible)
|
|
if (!child_visible)
|