diff --git a/src/plugins/cppeditor/cpphighlighter.cpp b/src/plugins/cppeditor/cpphighlighter.cpp
index 54050b97043..61c1312df3a 100644
--- a/src/plugins/cppeditor/cpphighlighter.cpp
+++ b/src/plugins/cppeditor/cpphighlighter.cpp
@@ -48,8 +48,6 @@ CppHighlighter::CppHighlighter(QTextDocument *document) :
void CppHighlighter::highlightBlock(const QString &text)
{
- QTextCharFormat emptyFormat;
-
const int previousState = previousBlockState();
int state = 0, initialBraceDepth = 0;
if (previousState != -1) {
@@ -226,7 +224,7 @@ void CppHighlighter::highlightBlock(const QString &text)
if (oldState == tokenize.state() && oldBraceDepth != braceDepth) {
int delta = braceDepth - oldBraceDepth;
QTextBlock block = currentBlock().next();
- while (block.isValid()) {
+ while (block.isValid() && block.userState() != -1) {
TextEditDocumentLayout::changeBraceDepth(block, delta);
block = block.next();
}
diff --git a/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp b/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp
index 2efd3672b96..feb73530ce8 100644
--- a/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp
+++ b/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp
@@ -401,18 +401,33 @@ QString CdbSymbolGroupContext::symbolINameAt(unsigned long index) const
return m_inameIndexMap.key(index);
}
-// check for "0x000", "0x000 class X"
+// Return hexadecimal pointer value from a CDB pointer value
+// which look like "0x000032a" or "0x00000000`0250124a" on 64-bit systems.
+static bool inline getPointerValue(QString stringValue, quint64 *value)
+{
+ *value = 0;
+ if (!stringValue.startsWith(QLatin1String("0x")))
+ return false;
+ stringValue.remove(0, 2);
+ // Remove 64bit separator
+ if (stringValue.size() > 8 && stringValue.at(8) == QLatin1Char('`'))
+ stringValue.remove(8, 1);
+ bool ok;
+ *value = stringValue.toULongLong(&ok, 16);
+ return ok;
+}
+
+// check for "0x000", "0x000 class X" or its 64-bit equivalents.
static inline bool isNullPointer(const WatchData &wd)
{
if (!isPointerType(wd.type))
return false;
- static const QRegExp hexNullPattern(QLatin1String("0x0+"));
- Q_ASSERT(hexNullPattern.isValid());
- const int blankPos = wd.value.indexOf(QLatin1Char(' '));
- if (blankPos == -1)
- return hexNullPattern.exactMatch(wd.value);
- const QString addr = wd.value.mid(0, blankPos);
- return hexNullPattern.exactMatch(addr);
+ QString stringValue = wd.value;
+ const int blankPos = stringValue.indexOf(QLatin1Char(' '));
+ if (blankPos != -1)
+ stringValue.truncate(blankPos);
+ quint64 value;
+ return getPointerValue(stringValue, &value) && value == 0u;
}
// Fix a symbol group value. It is set to the class type for
@@ -713,16 +728,11 @@ static inline bool getIntValue(CIDebugSymbolGroup *sg, int index, int *value)
}
// Get pointer value of symbol group ("0xAAB")
+// Note that this is on "00000000`0250124a" on 64bit systems.
static inline bool getPointerValue(CIDebugSymbolGroup *sg, int index, quint64 *value)
{
- *value = 0;
- QString valueS = getSymbolString(sg, &IDebugSymbolGroup2::GetSymbolValueTextWide, index);
- if (!valueS.startsWith(QLatin1String("0x")))
- return false;
- valueS.remove(0, 2);
- bool ok;
- *value = valueS.toULongLong(&ok, 16);
- return ok;
+ const QString stringValue = getSymbolString(sg, &IDebugSymbolGroup2::GetSymbolValueTextWide, index);
+ return getPointerValue(stringValue, value);
}
int CdbSymbolGroupContext::dumpQString(CIDebugDataSpaces *ds, WatchData *wd)
diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp
index 376947429e0..90e1e9ad462 100644
--- a/src/plugins/debugger/watchhandler.cpp
+++ b/src/plugins/debugger/watchhandler.cpp
@@ -724,8 +724,8 @@ QVariant WatchModel::data(const QModelIndex &idx, int role) const
switch (idx.column()) {
case 0: return data.name;
case 1: return formattedValue(data,
- m_handler->m_individualFormats[data.iname],
- m_handler->m_typeFormats[data.type]);
+ m_handler->m_individualFormats.value(data.iname, -1),
+ m_handler->m_typeFormats.value(data.type, -1));
case 2:
if (!data.displayedType.isEmpty())
return data.displayedType;
diff --git a/src/plugins/texteditor/completionwidget.cpp b/src/plugins/texteditor/completionwidget.cpp
index 7cdbac8577d..bb6cf900f4e 100644
--- a/src/plugins/texteditor/completionwidget.cpp
+++ b/src/plugins/texteditor/completionwidget.cpp
@@ -166,14 +166,16 @@ bool CompletionWidget::event(QEvent *e)
closeList(currentIndex());
return true;
case Qt::Key_Up:
- if (currentIndex().row() == 0) {
+ if (!ke->isAutoRepeat()
+ && currentIndex().row() == 0) {
setCurrentIndex(model()->index(model()->rowCount()-1, 0));
return true;
}
forwardKeys = false;
break;
case Qt::Key_Down:
- if (currentIndex().row() == model()->rowCount()-1) {
+ if (!ke->isAutoRepeat()
+ && currentIndex().row() == model()->rowCount()-1) {
setCurrentIndex(model()->index(0, 0));
return true;
}
diff --git a/src/shared/qrceditor/qrceditor.ui b/src/shared/qrceditor/qrceditor.ui
index 0fe1b01b42e..739b0d8c003 100644
--- a/src/shared/qrceditor/qrceditor.ui
+++ b/src/shared/qrceditor/qrceditor.ui
@@ -11,9 +11,6 @@
-
- -1
-
6
@@ -25,12 +22,6 @@
0
-
-
- 200
- 200
-
-
-
@@ -75,53 +66,47 @@
Properties
-
-
-
-
-
- 0
+
+
+ QLayout::SetMinAndMaxSize
+
+
+ QFormLayout::ExpandingFieldsGrow
+
+
-
+
+
+ Alias:
-
- 6
+
+
+ -
+
+
+ -
+
+
+ Prefix:
-
-
-
-
- -
-
-
- -
-
-
- Prefix:
-
-
-
- -
-
-
- Language:
-
-
-
- -
-
-
- -
-
-
- Alias:
-
-
-
-
+
+
+ -
+
+
+ -
+
+
+ Language:
+
+
+
+ -
+
- centralWidget
- groupBox
diff --git a/src/tools/qpatch/files-to-patch-linux b/src/tools/qpatch/files-to-patch-linux
index 2cf70c97291..78ecaca240d 100644
--- a/src/tools/qpatch/files-to-patch-linux
+++ b/src/tools/qpatch/files-to-patch-linux
@@ -62,3 +62,4 @@ lib/pkgconfig/QtWebKit.pc
lib/pkgconfig/QtXmlPatterns.pc
lib/pkgconfig/QtXml.pc
mkspecs/qconfig.pri
+.qmake.cache
diff --git a/src/tools/qtlibspatcher/qtlibspatchermain.cpp b/src/tools/qtlibspatcher/qtlibspatchermain.cpp
index bf92cb3c1a6..5eef293828a 100644
--- a/src/tools/qtlibspatcher/qtlibspatchermain.cpp
+++ b/src/tools/qtlibspatcher/qtlibspatchermain.cpp
@@ -169,7 +169,7 @@ bool patchDebugLibrariesWithQtPath(const char *baseQtPath)
{ "/bin/QtCored4.dll" },
{ "/bin/QtGuid4.dll" },
{ "/bin/QtHelpd4.dll" },
- { "/bin/QtNetworkd4.dll" },
+ { "/bin/QtMultimediad4.dll" },
{ "/bin/QtNetworkd4.dll" },
{ "/bin/QtOpenGLd4.dll" },
{ "/bin/QtScriptd4.dll" },