|
@@ -4195,8 +4195,9 @@ bool ImGui::IsMouseClicked(int button, bool repeat)
|
|
|
|
|
|
if (repeat && t > g.IO.KeyRepeatDelay)
|
|
|
{
|
|
|
- float delay = g.IO.KeyRepeatDelay, rate = g.IO.KeyRepeatRate;
|
|
|
- if ((ImFmod(t - delay, rate) > rate*0.5f) != (ImFmod(t - delay - g.IO.DeltaTime, rate) > rate*0.5f))
|
|
|
+ // FIXME: 2019/05/03: Our old repeat code was wrong here and led to doubling the repeat rate, which made it an ok rate for repeat on mouse hold.
|
|
|
+ int amount = CalcTypematicPressedRepeatAmount(t, t - g.IO.DeltaTime, g.IO.KeyRepeatDelay, g.IO.KeyRepeatRate * 0.5f);
|
|
|
+ if (amount > 0)
|
|
|
return true;
|
|
|
}
|
|
|
|