FIX: test HasCapture before CaptureMouse

Change-Id: Ia18b2288b4601c1ae8769d56e5bf46b886a1264e
This commit is contained in:
chunmao.guo 2022-11-03 16:20:46 +08:00 committed by Lane.Wei
parent 0da5585582
commit 8d0f19fd6a
3 changed files with 10 additions and 5 deletions

View file

@ -230,19 +230,22 @@ Button *SpinInput::createButton(bool inc)
delta = inc ? 1 : -1;
SetValue(val + delta);
text_ctrl->SetFocus();
btn->CaptureMouse();
if (!btn->HasCapture())
btn->CaptureMouse();
delta *= 8;
timer.Start(100);
sendSpinEvent();
});
btn->Bind(wxEVT_LEFT_DCLICK, [=](auto &e) {
delta = inc ? 1 : -1;
btn->CaptureMouse();
if (!btn->HasCapture())
btn->CaptureMouse();
SetValue(val + delta);
sendSpinEvent();
});
btn->Bind(wxEVT_LEFT_UP, [=](auto &e) {
btn->ReleaseMouse();
if (btn->HasCapture())
btn->ReleaseMouse();
timer.Stop();
text_ctrl->SelectAll();
delta = 0;