slider: fixed crash when clicking another mouse button while dragging

This commit is contained in:
itsmattkc
2020-09-18 23:49:40 +10:00
parent 27a4dbc85f
commit 3103359cd6
3 changed files with 18 additions and 7 deletions
+6 -4
View File
@@ -51,10 +51,12 @@ SliderLabel::SliderLabel(QWidget *parent) :
void SliderLabel::mousePressEvent(QMouseEvent *e) void SliderLabel::mousePressEvent(QMouseEvent *e)
{ {
if (e->modifiers() & Qt::AltModifier) { if (e->button() == Qt::LeftButton) {
emit RequestReset(); if (e->modifiers() & Qt::AltModifier) {
} else { emit RequestReset();
emit LabelPressed(); } else {
emit LabelPressed();
}
} }
} }
+10 -3
View File
@@ -103,9 +103,7 @@ void SliderLadder::mouseReleaseEvent(QMouseEvent *event)
{ {
Q_UNUSED(event) Q_UNUSED(event)
drag_timer_.stop(); this->close();
emit Released();
} }
void SliderLadder::showEvent(QShowEvent *event) void SliderLadder::showEvent(QShowEvent *event)
@@ -115,6 +113,15 @@ void SliderLadder::showEvent(QShowEvent *event)
drag_timer_.start(); drag_timer_.start();
} }
void SliderLadder::closeEvent(QCloseEvent *event)
{
Q_UNUSED(event)
drag_timer_.stop();
emit Released();
}
void SliderLadder::TimerUpdate() void SliderLadder::TimerUpdate()
{ {
int32_t x_mvmt, y_mvmt; int32_t x_mvmt, y_mvmt;
+2
View File
@@ -75,6 +75,8 @@ protected:
virtual void showEvent(QShowEvent *event) override; virtual void showEvent(QShowEvent *event) override;
virtual void closeEvent(QCloseEvent* event) override;
signals: signals:
void DraggedByValue(int value, double multiplier); void DraggedByValue(int value, double multiplier);