diff options
author | Hugo Parente Lima <hugo.pl@gmail.com> | 2011-01-28 19:11:49 -0200 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:13:52 -0300 |
commit | 80b71b1cdba57c8e59c503494adbd04002d5026a (patch) | |
tree | 1697a4f9f077c893be8c4b85d69ce7dba010f3d9 | |
parent | 4c26fce0a8d14bf9c4982473bc62e4c5d25573c1 (diff) |
Fix bug613 - "QSvgRenderer chooses QByteArray overload when given a file path"
QString arguments will always be evaluated before QByteArray arguments.
Reviewer: Luciano Wolf <lucianol.wolf@openbossa.org>
Renato Araújo <renato.filho@openbossa.org>
-rw-r--r-- | generator/overloaddata.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/generator/overloaddata.cpp b/generator/overloaddata.cpp index 42b04fdf8..f8fd831fa 100644 --- a/generator/overloaddata.cpp +++ b/generator/overloaddata.cpp @@ -295,7 +295,7 @@ void OverloadData::sortNextOverloads() } else if (checkQVariant && targetTypeEntryName != "QVariant") { if (!graph.containsEdge(qvariantIndex, sortData.map[targetTypeEntryName])) // Avoid cyclic dependency. graph.addEdge(sortData.map[targetTypeEntryName], qvariantIndex); - } else if (checkQString && ov->argType()->indirections() > 0 && targetTypeEntryName != "QString") { + } else if (checkQString && ov->argType()->indirections() > 0 && targetTypeEntryName != "QString" && targetTypeEntryName != "QByteArray") { if (!graph.containsEdge(qstringIndex, sortData.map[targetTypeEntryName])) // Avoid cyclic dependency. graph.addEdge(sortData.map[targetTypeEntryName], qstringIndex); } @@ -309,6 +309,10 @@ void OverloadData::sortNextOverloads() } } + // QByteArray args need to be checked after QString args + if (sortData.map.contains("QString") && sortData.map.contains("QByteArray")) + graph.addEdge(sortData.map["QString"], sortData.map["QByteArray"]); + foreach(OverloadData* ov, m_nextOverloadData) { const AbstractMetaType* targetType = ov->argType(); if (!targetType->isEnum()) |