summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qmetaobjectbuilder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/kernel/qmetaobjectbuilder.cpp')
-rw-r--r--src/corelib/kernel/qmetaobjectbuilder.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/corelib/kernel/qmetaobjectbuilder.cpp b/src/corelib/kernel/qmetaobjectbuilder.cpp
index 96b25bd3722..b5911aff549 100644
--- a/src/corelib/kernel/qmetaobjectbuilder.cpp
+++ b/src/corelib/kernel/qmetaobjectbuilder.cpp
@@ -1707,7 +1707,7 @@ int QMetaMethodBuilder::attributes() const
{
QMetaMethodBuilderPrivate *d = d_func();
if (d)
- return (d->attributes >> 4);
+ return (d->attributes >> 4) & 0x7;
else
return 0;
}
@@ -1720,8 +1720,10 @@ int QMetaMethodBuilder::attributes() const
void QMetaMethodBuilder::setAttributes(int value)
{
QMetaMethodBuilderPrivate *d = d_func();
- if (d)
- d->attributes = ((d->attributes & 0x0f) | (value << 4));
+ if (d) {
+ d->attributes &= ~0x70;
+ d->attributes |= (value & 0x7) << 4;
+ }
}
/*!