Fix for bad operator precedence causing right mouse button issues

Binary or (|) has higher operator precedence than a ternary in C,
causing the original expression here to function quite incorrectly
for anything other than the common left-mouse-button-only case. I
just added brackets -- feel free to change this to "if"s if you
think that would more clearly avoid this issue in future.

Change-Id: Ie20bd7e805b89a393794d3240fb0ae680b29ff64
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
This commit is contained in:
Alex Wilson 2012-02-23 11:57:18 +10:00 committed by Qt by Nokia
parent 924a9620d5
commit 09ea9cace4
1 changed files with 2 additions and 2 deletions

View File

@ -830,8 +830,8 @@ private:
Qt::MouseButtons QQuickItemPrivate::acceptedMouseButtons() const
{
return extra.flag()?Qt::LeftButton:Qt::MouseButton(0) |
(extra.isAllocated()?extra->acceptedMouseButtons:Qt::MouseButtons(0));
return ((extra.flag() ? Qt::LeftButton : Qt::MouseButton(0)) |
(extra.isAllocated() ? extra->acceptedMouseButtons : Qt::MouseButtons(0)));
}
QSGContext *QQuickItemPrivate::sceneGraphContext() const