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