diff -r ef0373b55136 -r 758a864f9613 src/corelib/tools/qhash.h --- a/src/corelib/tools/qhash.h Fri Sep 17 08:34:18 2010 +0300 +++ b/src/corelib/tools/qhash.h Mon Oct 04 01:19:32 2010 +0300 @@ -589,10 +589,11 @@ Q_INLINE_TEMPLATE QHash &QHash::operator=(const QHash &other) { if (d != other.d) { - other.d->ref.ref(); + QHashData *o = other.d; + o->ref.ref(); if (!d->ref.deref()) freeData(d); - d = other.d; + d = o; if (!d->sharable) detach_helper(); }