diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-10-27 10:32:07 +0200 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-10-28 16:32:03 +0200 |
| commit | 0de9cda236715bf52b863ea14dc5d4fb824eae5b (patch) | |
| tree | 9e753896449b519746967fd02b4a9fed26e26524 /sources/pyside2/libpyside/pysideqflags.cpp | |
| parent | 8e9c64ce3ead94d31178ace3e2192ea93649387e (diff) | |
PySide6: Fix QFlags comparison to self
The result was set to true unconditionally when
self == other. Fix and rearrange the code.
Fixes: PYSIDE-1696
Change-Id: I8892d0f6439186d8629c5a24347fc1ce700ecb58
Reviewed-by: Christian Tismer <tismer@stackless.com>
(cherry picked from commit 9399408fd1e7e12215389a5bf96ae5e4ec38905b)
Diffstat (limited to 'sources/pyside2/libpyside/pysideqflags.cpp')
| -rw-r--r-- | sources/pyside2/libpyside/pysideqflags.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/sources/pyside2/libpyside/pysideqflags.cpp b/sources/pyside2/libpyside/pysideqflags.cpp index f587026ac..a716cacfc 100644 --- a/sources/pyside2/libpyside/pysideqflags.cpp +++ b/sources/pyside2/libpyside/pysideqflags.cpp @@ -81,12 +81,17 @@ extern "C" { return NULL; } - long valA = PYSIDE_QFLAGS(self)->ob_value; - long valB = getNumberValue(other); - if (self == other) { - result = 1; + switch (op) { + case Py_EQ: + case Py_LE: + case Py_GE: + result = 1; + break; + } } else { + const long valA = PYSIDE_QFLAGS(self)->ob_value; + const long valB = getNumberValue(other); switch (op) { case Py_EQ: result = (valA == valB); |
