diff options
author | Daniel Schürmann <daschuer@mixxx.org> | 2020-11-19 21:07:47 +0100 |
---|---|---|
committer | Daniel Schürmann <daschuer@mixxx.org> | 2020-11-19 21:07:47 +0100 |
commit | a989e9a764eb8e662deb7b720b4cdbe3bc6a2af6 (patch) | |
tree | 905d52f99ca8d6e3dbc89e298d8fd04f1308189d /src/widget/wpushbutton.cpp | |
parent | a76433f45f2d87c2dfedb23181940582370d5491 (diff) |
Avoid hotcue buttons from being stucked in the pressed state
Diffstat (limited to 'src/widget/wpushbutton.cpp')
-rw-r--r-- | src/widget/wpushbutton.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/widget/wpushbutton.cpp b/src/widget/wpushbutton.cpp index dface204ba..7233d954fb 100644 --- a/src/widget/wpushbutton.cpp +++ b/src/widget/wpushbutton.cpp @@ -436,6 +436,20 @@ bool WPushButton::event(QEvent* e) { m_bHovered = true; restyleAndRepaint(); } else if (e->type() == QEvent::Leave) { + if (m_bPressed) { + // A Leave event is send instead of a mouseReleaseEvent() + // fake it to get not stucked in pressed state + QMouseEvent mouseEvent = QMouseEvent( + QEvent::MouseButtonRelease, + QPointF(), + QPointF(), + QPointF(), + Qt::LeftButton, + Qt::NoButton, + 0, + Qt::MouseEventSynthesizedByApplication); + mouseReleaseEvent(&mouseEvent); + } m_bHovered = false; restyleAndRepaint(); } |