mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 21:37:52 -07:00
DolphinQt: StickWidget and IRWidget check for changed x/y before signaling change
This commit is contained in:
parent
0a88c2329a
commit
cd79207853
@ -79,6 +79,9 @@ void IRWidget::mouseMoveEvent(QMouseEvent* event)
|
||||
|
||||
void IRWidget::handleMouseEvent(QMouseEvent* event)
|
||||
{
|
||||
u16 prev_x = m_x;
|
||||
u16 prev_y = m_y;
|
||||
|
||||
if (event->button() == Qt::RightButton)
|
||||
{
|
||||
m_x = std::round(ir_max_x / 2.);
|
||||
@ -94,7 +97,18 @@ void IRWidget::handleMouseEvent(QMouseEvent* event)
|
||||
m_y = std::max(0, std::min(static_cast<int>(ir_max_y), new_y));
|
||||
}
|
||||
|
||||
emit ChangedX(m_x);
|
||||
emit ChangedY(m_y);
|
||||
update();
|
||||
bool changed = false;
|
||||
if (prev_x != m_x)
|
||||
{
|
||||
emit ChangedX(m_x);
|
||||
changed = true;
|
||||
}
|
||||
if (prev_y != m_y)
|
||||
{
|
||||
emit ChangedY(m_y);
|
||||
changed = true;
|
||||
}
|
||||
|
||||
if (changed)
|
||||
update();
|
||||
}
|
||||
|
@ -82,6 +82,9 @@ void StickWidget::mouseMoveEvent(QMouseEvent* event)
|
||||
|
||||
void StickWidget::handleMouseEvent(QMouseEvent* event)
|
||||
{
|
||||
u16 prev_x = m_x;
|
||||
u16 prev_y = m_y;
|
||||
|
||||
if (event->button() == Qt::RightButton)
|
||||
{
|
||||
m_x = std::round(m_max_x / 2.);
|
||||
@ -97,7 +100,18 @@ void StickWidget::handleMouseEvent(QMouseEvent* event)
|
||||
m_y = std::max(0, std::min(static_cast<int>(m_max_y), new_y));
|
||||
}
|
||||
|
||||
emit ChangedX(m_x);
|
||||
emit ChangedY(m_y);
|
||||
update();
|
||||
bool changed = false;
|
||||
if (prev_x != m_x)
|
||||
{
|
||||
emit ChangedX(m_x);
|
||||
changed = true;
|
||||
}
|
||||
if (prev_y != m_y)
|
||||
{
|
||||
emit ChangedY(m_y);
|
||||
changed = true;
|
||||
}
|
||||
|
||||
if (changed)
|
||||
update();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user