From c55ac5fb6f8a83ab8ed4b669d4361431f259a8a0 Mon Sep 17 00:00:00 2001
From: hjk <hjk121@nokiamail.com>
Date: Thu, 30 Jan 2014 12:40:24 +0100
Subject: [PATCH] Debugger: Use more robust way to extract Qt version.

Also bump the fallback guess to Qt 5.3.

Change-Id: I8e9be14a34cdf6c6330de123cbed7243e0df968a
Reviewed-by: hjk <hjk121@nokiamail.com>
---
 share/qtcreator/debugger/gdbbridge.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/share/qtcreator/debugger/gdbbridge.py b/share/qtcreator/debugger/gdbbridge.py
index a0b1d21753d..797144010cf 100644
--- a/share/qtcreator/debugger/gdbbridge.py
+++ b/share/qtcreator/debugger/gdbbridge.py
@@ -1029,7 +1029,8 @@ class Dumper(DumperBase):
 
     def qtVersion(self):
         try:
-            version = str(gdb.parse_and_eval("qVersion()"))
+            ns = self.qtNamespace()
+            version = str(gdb.parse_and_eval("((const char*(*)())'%s::qVersion')()" % ns))
             (major, minor, patch) = version[version.find('"')+1:version.rfind('"')].split('.')
             self.cachedQtVersion = 0x10000 * int(major) + 0x100 * int(minor) + int(patch)
         except:
@@ -1039,8 +1040,8 @@ class Dumper(DumperBase):
                 self.cachedQtVersion = 0x040800
             except:
                 #self.cachedQtVersion = 0x050000
-                # Assume Qt 5 until we have a definitive answer.
-                return 0x050000
+                # Assume Qt 5.3 until we have a definitive answer.
+                return 0x050300
 
         # Memoize good results.
         self.qtVersion = lambda: self.cachedQtVersion
-- 
GitLab