message: Combo: Cleaned up, removed unnecessary code (looks like this part went untouched for a long time!).
diff: @@ -8632,7 +8632,10 @@ bool ImGui::BeginCombo(const char* label, const char* preview_value, ImVec2 popu
  return false;
  const float arrow_size = SmallSquareSize();
  - const bool hovered = IsHovered(frame_bb, id);
  +
  + bool hovered, held;
  + bool pressed = ButtonBehavior(frame_bb, id, &hovered, &held);
  +
  bool popup_open = IsPopupOpen(id);
  const ImRect value_bb(frame_bb.Min, frame_bb.Max - ImVec2(arrow_size, 0.0f));
  @@ -8646,28 +8649,10 @@ bool ImGui::BeginCombo(const char* label, const char* preview_value, ImVec2 popu
  if (label_size.x > 0)
  RenderText(ImVec2(frame_bb.Max.x + style.ItemInnerSpacing.x, frame_bb.Min.y + style.FramePadding.y), label);
  - bool popup_toggled = false;
  - if (hovered)
  - {
  - SetHoveredID(id);
  - if (g.IO.MouseClicked[0])
  - {
  - ClearActiveID();
  - popup_toggled = true;
  - }
  - }
  - if (popup_toggled)
  - {
  - if (popup_open)
  + if (pressed && !popup_open)
  {
  - ClosePopup(id);
  - }
  - else
  - {
  - FocusWindow(window);
  OpenPopupEx(id, false);
  - }
  - popup_open = !popup_open;
  + popup_open = true;
  }
  if (!popup_open)
  