Merge remote-tracking branch 'origin/4.5'

Change-Id: I86852d289c22210a0439e8e297819dc7276a96de
This commit is contained in:
Eike Ziller
2017-11-29 09:56:22 +01:00
17 changed files with 52 additions and 14 deletions

View File

@@ -2743,7 +2743,10 @@ class DumperBase:
#warn('BITFIELD VALUE: %s %d %s' % (value.name, value.lvalue, typeName))
self.putNumChild(0)
if typeobj.ltarget and typeobj.ltarget.code == TypeCodeEnum:
if hasattr(typeobj.ltarget.typeData(), 'enumHexDisplay'):
self.putValue(typeobj.ltarget.typeData().enumHexDisplay(value.lvalue, value.laddress))
else:
self.putValue(typeobj.ltarget.typeData().enumDisplay(value.lvalue, value.laddress))
else:
self.putValue(value.lvalue)
self.putType(typeName)

View File

@@ -11,7 +11,9 @@ int main(int argc, char *argv[])
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
@endif
#if defined(Q_OS_WIN)
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif
QGuiApplication app(argc, argv);

View File

@@ -72,7 +72,7 @@ int ImportMatchStrength::compareMatch(const ImportMatchStrength &o) const
int v2 = o.m_match.at(i);
if (v1 < v2)
return -1;
if (v2 > v1)
if (v1 > v2)
return 1;
}
if (len1 < len2)

View File

@@ -1574,6 +1574,7 @@ static KnownType knownClassTypeHelper(const std::string &type,
case 29:
if (!type.compare(qPos, 29, "QXmlStreamNotationDeclaration"))
return KT_QXmlStreamNotationDeclaration;
break;
case 30:
if (!type.compare(qPos, 30, "QPatternist::SequenceType::Ptr"))
return KT_QPatternist_SequenceType_Ptr;

View File

@@ -811,7 +811,7 @@ void AndroidRunner::setRunnable(const AndroidRunnable &runnable)
void AndroidRunner::launchAVD()
{
if (!m_target && !m_target->project())
if (!m_target || !m_target->project())
return;
int deviceAPILevel = AndroidManager::minimumSDK(m_target);

View File

@@ -140,11 +140,15 @@ void BackendReceiver::reset()
m_assistProcessorsTable.clear();
// Clean up futures for references
for (ReferencesEntry &entry : m_referencesTable)
for (ReferencesEntry &entry : m_referencesTable) {
entry.futureInterface.cancel();
entry.futureInterface.reportFinished();
}
m_referencesTable.clear();
for (QFutureInterface<CppTools::SymbolInfo> &futureInterface : m_followTable)
for (QFutureInterface<CppTools::SymbolInfo> &futureInterface : m_followTable) {
futureInterface.cancel();
futureInterface.reportFinished();
}
m_followTable.clear();
}

View File

@@ -265,6 +265,7 @@ public:
case 8:
return decodeArrayHelper<qint64>(encoding.size);
}
break;
case DebuggerEncoding::HexEncodedUnsignedInteger:
switch (encoding.size) {
case 1:

View File

@@ -56,16 +56,21 @@ const char GENERIC_BC_ID[] = "GenericProjectManager.GenericBuildConfiguration";
GenericBuildConfiguration::GenericBuildConfiguration(Target *parent)
: BuildConfiguration(parent, Core::Id(GENERIC_BC_ID))
{ }
{
updateCacheAndEmitEnvironmentChanged();
}
GenericBuildConfiguration::GenericBuildConfiguration(Target *parent, Core::Id id)
: BuildConfiguration(parent, id)
{ }
{
updateCacheAndEmitEnvironmentChanged();
}
GenericBuildConfiguration::GenericBuildConfiguration(Target *parent, GenericBuildConfiguration *source) :
BuildConfiguration(parent, source)
{
cloneSteps(source);
updateCacheAndEmitEnvironmentChanged();
}
NamedWidget *GenericBuildConfiguration::createConfigWidget()

View File

@@ -339,10 +339,14 @@ bool BuildConfiguration::isActive() const
* to provide hints about which compiler to use.
*/
void BuildConfiguration::prependCompilerPathToEnvironment(Utils::Environment &env) const
{
return prependCompilerPathToEnvironment(target()->kit(), env);
}
void BuildConfiguration::prependCompilerPathToEnvironment(Kit *k, Utils::Environment &env)
{
const ToolChain *tc
= ToolChainKitInformation::toolChain(target()->kit(),
ProjectExplorer::Constants::CXX_LANGUAGE_ID);
= ToolChainKitInformation::toolChain(k, ProjectExplorer::Constants::CXX_LANGUAGE_ID);
if (!tc)
return;

View File

@@ -91,6 +91,7 @@ public:
bool isActive() const override;
void prependCompilerPathToEnvironment(Utils::Environment &env) const;
static void prependCompilerPathToEnvironment(Kit *k, Utils::Environment &env);
signals:
void environmentChanged();

View File

@@ -29,6 +29,7 @@
#include <windows.h>
#include <QCoreApplication>
#include <QMap>
#include <QTime>
/*!

View File

@@ -202,7 +202,7 @@ FormatToken Scanner::readIdentifier()
// List of python built-in functions and objects
static const QSet<QString> builtins = {
"range", "xrange", "int", "float", "long", "hex", "oct" "chr", "ord",
"range", "xrange", "int", "float", "long", "hex", "oct", "chr", "ord",
"len", "abs", "None", "True", "False"
};

View File

@@ -98,6 +98,8 @@ BuildConfiguration *AndroidQmakeBuildConfigurationFactory::restore(Target *paren
AndroidQmakeBuildConfiguration::AndroidQmakeBuildConfiguration(Target *target)
: QmakeBuildConfiguration(target)
{
updateCacheAndEmitEnvironmentChanged();
auto updateGrade = [this] { AndroidManager::updateGradleProperties(BuildConfiguration::target()); };
auto project = qobject_cast<QmakeProject *>(target->project());
@@ -110,11 +112,13 @@ AndroidQmakeBuildConfiguration::AndroidQmakeBuildConfiguration(Target *target)
AndroidQmakeBuildConfiguration::AndroidQmakeBuildConfiguration(Target *target, AndroidQmakeBuildConfiguration *source)
: QmakeBuildConfiguration(target, source)
{
updateCacheAndEmitEnvironmentChanged();
}
AndroidQmakeBuildConfiguration::AndroidQmakeBuildConfiguration(Target *target, Core::Id id)
: QmakeBuildConfiguration(target, id)
{
updateCacheAndEmitEnvironmentChanged();
}
void AndroidQmakeBuildConfiguration::addToEnvironment(Utils::Environment &env) const

View File

@@ -152,6 +152,8 @@ bool QmakeBuildConfiguration::fromMap(const QVariantMap &map)
void QmakeBuildConfiguration::ctor()
{
updateCacheAndEmitEnvironmentChanged();
connect(this, &BuildConfiguration::environmentChanged,
this, &QmakeBuildConfiguration::emitProFileEvaluateNeeded);
connect(target(), &Target::kitChanged,
@@ -758,9 +760,14 @@ BuildConfiguration::BuildType QmakeBuildConfiguration::buildType() const
void QmakeBuildConfiguration::addToEnvironment(Environment &env) const
{
prependCompilerPathToEnvironment(env);
const BaseQtVersion *qt = QtKitInformation::qtVersion(target()->kit());
if (qt)
setupBuildEnvironment(target()->kit(), env);
}
void QmakeBuildConfiguration::setupBuildEnvironment(Kit *k, Environment &env)
{
prependCompilerPathToEnvironment(k, env);
const BaseQtVersion *qt = QtKitInformation::qtVersion(k);
if (qt && !qt->binPath().isEmpty())
env.prependOrSetPath(qt->binPath().toString());
}

View File

@@ -100,6 +100,7 @@ public:
BuildType buildType() const override;
void addToEnvironment(Utils::Environment &env) const override;
static void setupBuildEnvironment(ProjectExplorer::Kit *k, Utils::Environment &env);
void emitProFileEvaluateNeeded();

View File

@@ -665,6 +665,10 @@ QtSupport::ProFileReader *QmakeProject::createProFileReader(const QmakeProFile *
else
qmakeArgs = bc->configCommandLineArguments();
}
} else {
// Set up a better default environment without using a build configuration:
QmakeBuildConfiguration::setupBuildEnvironment(k, env);
k->addToEnvironment(env);
}
QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(k);

View File

@@ -5457,7 +5457,7 @@ void tst_Dumpers::dumper_data()
+ Check("s.x", "2", "unsigned int : 3") % NoCdbEngine
+ Check("s.y", "3", "unsigned int : 4") % NoCdbEngine
+ Check("s.z", "39", "unsigned int : 18") % NoCdbEngine
+ Check("s.e", "V2 (1)", "E : 3") % NoCdbEngine
+ Check("s.e", "V2 (1)", "E : 3") % GdbEngine
+ Check("s.x", "2", "unsigned int") % CdbEngine
+ Check("s.y", "3", "unsigned int") % CdbEngine
+ Check("s.z", "39", "unsigned int") % CdbEngine