diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp index b6bac92bf9b18a65248e6bb9b893300ef68f03cd..1f5bb7e1f4efa7f48be94c0a24f0091912827da8 100644 --- a/src/plugins/cpptools/cppcodecompletion.cpp +++ b/src/plugins/cpptools/cppcodecompletion.cpp @@ -598,7 +598,9 @@ bool CppCodeCompletion::completeMember(const QList<TypeOfExpression::Result> &re if (ReferenceType *refTy = ty->asReferenceType()) ty = refTy->elementType(); - if (NamedType *namedTy = ty->asNamedType()) { + if (Class *classTy = ty->asClass()) { + classObjectCandidates.append(classTy); + } else if (NamedType *namedTy = ty->asNamedType()) { // ### This code is pretty slow. const QList<Symbol *> candidates = context.resolve(namedTy->name()); foreach (Symbol *candidate, candidates) { @@ -697,6 +699,8 @@ bool CppCodeCompletion::completeMember(const QList<TypeOfExpression::Result> &re ++m_startPosition; namedTy = ptrTy->elementType()->asNamedType(); } + } else if (Class *classTy = ty->asClass()) { + classObjectCandidates.append(classTy); } else { namedTy = ty->asNamedType(); if (! namedTy) { diff --git a/src/tools/qtlibspatcher/binpatch.cpp b/src/tools/qtlibspatcher/binpatch.cpp index 7e1dcfbbdd83159e37908e7798d8956ff7ad0834..43e5fd84c8e0c02ea3bcf93fb769084e3b6c8606 100644 --- a/src/tools/qtlibspatcher/binpatch.cpp +++ b/src/tools/qtlibspatcher/binpatch.cpp @@ -35,7 +35,14 @@ #include <cstring> #include <locale> +#include <qglobal.h> + #include "binpatch.h" + +#ifdef Q_OS_WIN +# define strcasecmp _stricmp +# define strncasecmp _strnicmp +#endif // returns positive value if it finds a null termination inside the buffer long BinPatch::getBufferStringLength(char *data, char *end) diff --git a/src/tools/qtlibspatcher/qtlibspatchermain.cpp b/src/tools/qtlibspatcher/qtlibspatchermain.cpp index c186b8a895dffde2a2cc4d4f2b37b726cdea1243..b66a35f294cd38e865ca2e41eaa673b0cd4bf09c 100644 --- a/src/tools/qtlibspatcher/qtlibspatchermain.cpp +++ b/src/tools/qtlibspatcher/qtlibspatchermain.cpp @@ -42,8 +42,10 @@ #include <QtCore/QDebug> #ifdef Q_OS_WIN - const char * const oldInstallBase = "C:/qt-greenhouse/Trolltech/Code_less_create_more/" - "Trolltech/Code_less_create_more/Troll/4.4.3"; +# define QT_INSTALL_DIR "C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.4.3"; + + const char * const oldInstallBase = QT_INSTALL_DIR; + const char * const oldSourceBase = QT_INSTALL_DIR; #else const char * const oldSourceBase = "/home/berlin/dev/qt-4.4.3-temp/qt-x11-opensource-src-4.4.3"; const char * const oldInstallBase = "/home/berlin/dev/qt-4.4.3-shipping/qt"; @@ -627,9 +629,9 @@ void patchQMakeSpec(const char *path) out << all; } +#ifndef Q_OS_WIN const char * const textFileFileNames[] = { -#ifndef Q_OS_WIN // *.la "/lib/libQtCore.la", "/lib/libQt3Support.la", @@ -692,8 +694,8 @@ const char * const textFileFileNames[] = // misc "/mkspecs/qconfig.pri" -#endif }; +#endif void replaceInTextFile(const char * fileName, const char * oldText, const char * newText, @@ -726,6 +728,7 @@ void replaceInTextFile(const char * fileName, void patchTextFiles(const char *newInstallBase) { +#ifndef Q_OS_WIN const char * const baseQtPath = newInstallBase; const char * const newSourceBase = newInstallBase; const int fileCount = sizeof(textFileFileNames) / sizeof(const char *); @@ -733,16 +736,13 @@ void patchTextFiles(const char *newInstallBase) char * const fileName = allocFileNameCopyAppend(baseQtPath, textFileFileNames[i]); logFileName(fileName); logDiff(oldSourceBase, newSourceBase); -#ifndef Q_OS_WIN logDiff(oldInstallBase, newInstallBase); -#endif replaceInTextFile(fileName, -#ifndef Q_OS_WIN oldSourceBase, newSourceBase, -#endif oldInstallBase, newInstallBase); delete[] fileName; } +#endif patchQMakeSpec(newInstallBase); }