diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-01-16 13:20:34 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-01-23 17:06:59 +0000 |
commit | 07580a8d7bc92085c7585e3cbe447562bf28ab85 (patch) | |
tree | d6bee3bae0fd7298d9d2a522c4c15b762c90662e /src/tools/uic/cpp/cppwriteinitialization.cpp | |
parent | e649c4143e37591d5e32ca0b6abb1487cfea4c86 (diff) |
uic: Fix broken icon code generation
Change b86d0b62156993936bf93169a895a92ad60adf7d rearranged the
sequence of function calls when generating code adding QTabWidget
and QToolBox pages, not taking into account that the iconCall()
has a side effect (writing out icon definition) Revert that part
and add a comment.
Fixes: QTBUG-72980
Task-number: PYSIDE-797
Change-Id: Ie8fbaa36f21cd4408fb1f491195da5c260708e6c
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Diffstat (limited to 'src/tools/uic/cpp/cppwriteinitialization.cpp')
-rw-r--r-- | src/tools/uic/cpp/cppwriteinitialization.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/tools/uic/cpp/cppwriteinitialization.cpp b/src/tools/uic/cpp/cppwriteinitialization.cpp index dbe4860d7e..35d77f0827 100644 --- a/src/tools/uic/cpp/cppwriteinitialization.cpp +++ b/src/tools/uic/cpp/cppwriteinitialization.cpp @@ -698,11 +698,12 @@ void WriteInitialization::acceptWidget(DomWidget *node) } else if (m_uic->customWidgetsInfo()->extends(parentClass, QLatin1String("QToolBox"))) { const DomProperty *plabel = attributes.value(QLatin1String("label")); DomString *plabelString = plabel ? plabel->elementString() : 0; - - m_output << m_indent << parentWidget << "->addItem(" << varName; + QString icon; if (const DomProperty *picon = attributes.value(QLatin1String("icon"))) - m_output << ", " << iconCall(picon); - m_output << ", " << noTrCall(plabelString, pageDefaultString) << ");\n"; + icon = QLatin1String(", ") + iconCall(picon); // Side effect: Writes icon definition + + m_output << m_indent << parentWidget << "->addItem(" << varName << icon + << ", " << noTrCall(plabelString, pageDefaultString) << ");\n"; autoTrOutput(plabelString, pageDefaultString) << m_indent << parentWidget << "->setItemText(" << parentWidget << "->indexOf(" << varName << "), " << autoTrCall(plabelString, pageDefaultString) << ");\n"; @@ -718,11 +719,11 @@ void WriteInitialization::acceptWidget(DomWidget *node) } else if (m_uic->customWidgetsInfo()->extends(parentClass, QLatin1String("QTabWidget"))) { const DomProperty *ptitle = attributes.value(QLatin1String("title")); DomString *ptitleString = ptitle ? ptitle->elementString() : 0; - - m_output << m_indent << parentWidget << "->addTab(" << varName; + QString icon; if (const DomProperty *picon = attributes.value(QLatin1String("icon"))) - m_output << ", " << iconCall(picon); - m_output << ", " << "QString());\n"; + icon = QLatin1String(", ") + iconCall(picon); // Side effect: Writes icon definition + m_output << m_indent << parentWidget << "->addTab(" << varName << icon + << ", " << "QString());\n"; autoTrOutput(ptitleString, pageDefaultString) << m_indent << parentWidget << "->setTabText(" << parentWidget << "->indexOf(" << varName << "), " << autoTrCall(ptitleString, pageDefaultString) << ");\n"; |