forked from qt-creator/qt-creator
Lua: Robustify LayoutBuilder integration
"Executing" 'Row { "a", b, "c" }' with unquoted b previously crashed. Change-Id: Ifb505c1a836a6041b05911e322cad596c3969e03 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
@@ -19,9 +19,15 @@ static void processChildren(T *item, const sol::table &children)
|
|||||||
for (size_t i = 1; i <= children.size(); ++i) {
|
for (size_t i = 1; i <= children.size(); ++i) {
|
||||||
const auto &child = children[i];
|
const auto &child = children[i];
|
||||||
if (child.is<Layout *>()) {
|
if (child.is<Layout *>()) {
|
||||||
item->addItem(*child.get<Layout *>());
|
if (Layout *layout = child.get<Layout *>())
|
||||||
|
item->addItem(*layout);
|
||||||
|
else
|
||||||
|
item->addItem("ERROR");
|
||||||
} else if (child.is<Widget *>()) {
|
} else if (child.is<Widget *>()) {
|
||||||
item->addItem(*child.get<Widget *>());
|
if (Widget *widget = child.get<Widget *>())
|
||||||
|
item->addItem(*widget);
|
||||||
|
else
|
||||||
|
item->addItem("ERROR");
|
||||||
} else if (child.is<BaseAspect>()) {
|
} else if (child.is<BaseAspect>()) {
|
||||||
child.get<BaseAspect *>()->addToLayout(*item);
|
child.get<BaseAspect *>()->addToLayout(*item);
|
||||||
} else if (child.is<QString>()) {
|
} else if (child.is<QString>()) {
|
||||||
|
Reference in New Issue
Block a user