Due to clicks being processed in CBaseUIElement::update. A left mouse down/up event happening in the same engine frame will result in mouse->isLeftDown being false, so the click is never registered. Needs separation like keyboard events, so that each mouse event corresponds to a distinct change in state.