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>
This commit is contained in:
hjk
2014-01-30 12:40:24 +01:00
parent 89f5964695
commit c55ac5fb6f
+4 -3
View File
@@ -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