slider: fixed crash when clicking another mouse button while dragging
This commit is contained in:
@@ -51,10 +51,12 @@ SliderLabel::SliderLabel(QWidget *parent) :
|
||||
|
||||
void SliderLabel::mousePressEvent(QMouseEvent *e)
|
||||
{
|
||||
if (e->modifiers() & Qt::AltModifier) {
|
||||
emit RequestReset();
|
||||
} else {
|
||||
emit LabelPressed();
|
||||
if (e->button() == Qt::LeftButton) {
|
||||
if (e->modifiers() & Qt::AltModifier) {
|
||||
emit RequestReset();
|
||||
} else {
|
||||
emit LabelPressed();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -103,9 +103,7 @@ void SliderLadder::mouseReleaseEvent(QMouseEvent *event)
|
||||
{
|
||||
Q_UNUSED(event)
|
||||
|
||||
drag_timer_.stop();
|
||||
|
||||
emit Released();
|
||||
this->close();
|
||||
}
|
||||
|
||||
void SliderLadder::showEvent(QShowEvent *event)
|
||||
@@ -115,6 +113,15 @@ void SliderLadder::showEvent(QShowEvent *event)
|
||||
drag_timer_.start();
|
||||
}
|
||||
|
||||
void SliderLadder::closeEvent(QCloseEvent *event)
|
||||
{
|
||||
Q_UNUSED(event)
|
||||
|
||||
drag_timer_.stop();
|
||||
|
||||
emit Released();
|
||||
}
|
||||
|
||||
void SliderLadder::TimerUpdate()
|
||||
{
|
||||
int32_t x_mvmt, y_mvmt;
|
||||
|
||||
@@ -75,6 +75,8 @@ protected:
|
||||
|
||||
virtual void showEvent(QShowEvent *event) override;
|
||||
|
||||
virtual void closeEvent(QCloseEvent* event) override;
|
||||
|
||||
signals:
|
||||
void DraggedByValue(int value, double multiplier);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user