summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--share/qtcreator/debugger/lldbbridge.py20
1 files changed, 18 insertions, 2 deletions
diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py
index bbf0727838..0105e426e2 100644
--- a/share/qtcreator/debugger/lldbbridge.py
+++ b/share/qtcreator/debugger/lldbbridge.py
@@ -32,10 +32,11 @@ import binascii
import inspect
import json
import os
-import threading
+import re
import select
import sys
import subprocess
+import threading
currentDir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
sys.path.insert(1, currentDir)
@@ -470,7 +471,22 @@ class Dumper(DumperBase):
return typeobj.GetTypeClass() in (lldb.eTypeClassStruct, lldb.eTypeClassClass)
def qtVersion(self):
- return 0x050000
+ global qqVersion
+ if not qqVersion is None:
+ return qqVersion
+ qqVersion = 0x0
+ coreExpression = re.compile(r"(lib)?Qt5?Core")
+ for n in range(0, self.target.GetNumModules()):
+ module = self.target.GetModuleAtIndex(n)
+ if coreExpression.match(module.GetFileSpec().GetFilename()):
+ reverseVersion = module.GetVersion()
+ reverseVersion.reverse()
+ shift = 0
+ for v in reverseVersion:
+ qqVersion += v << shift
+ shift += 8
+ break
+ return qqVersion
def is32bit(self):
return False