From f0a30f4a9bf499578a14ab624c12adfe6481f7df Mon Sep 17 00:00:00 2001 From: Sergey Belyashov <Sergey.Belyashov@gmail.com> Date: Tue, 29 Sep 2009 18:11:16 +0200 Subject: [PATCH] Next try to fix pointer aliasing issue Merge-request: 1562 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> --- share/qtcreator/gdbmacros/gdbmacros.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/share/qtcreator/gdbmacros/gdbmacros.cpp b/share/qtcreator/gdbmacros/gdbmacros.cpp index c1227b79c0a..59049f2673a 100644 --- a/share/qtcreator/gdbmacros/gdbmacros.cpp +++ b/share/qtcreator/gdbmacros/gdbmacros.cpp @@ -1065,16 +1065,13 @@ static void qDumpInnerValueOrPointer(QDumper &d, #ifndef QT_BOOTSTRAPPED struct ModelIndex { int r; int c; void *p; void *m; }; -static inline void -qDeserializeQModelIndex(const char *input, ModelIndex &mm) -{ - sscanf(input, "%d,%d,%p,%p", &mm.r, &mm.c, &mm.p, &mm.m); -} - static void qDumpQAbstractItem(QDumper &d) { QModelIndex mi; - qDeserializeQModelIndex(d.templateParameters[0], *reinterpret_cast<ModelIndex *>(&mi)); + { + ModelIndex *mm = reinterpret_cast<ModelIndex *>(&mi); + sscanf(d.templateParameters[0], "%d,%d,%p,%p", &mm->r, &mm->c, &mm->p, &mm->m); + } const QAbstractItemModel *m = mi.model(); const int rowCount = m->rowCount(mi); if (rowCount < 0) -- GitLab