diff -r 56cd8111b7f7 -r 41300fa6a67c tools/designer/src/lib/uilib/formbuilder.cpp --- a/tools/designer/src/lib/uilib/formbuilder.cpp Tue Jan 26 12:42:25 2010 +0200 +++ b/tools/designer/src/lib/uilib/formbuilder.cpp Tue Feb 02 00:43:10 2010 +0200 @@ -123,6 +123,8 @@ QFormBuilderExtra *fb = QFormBuilderExtra::instance(this); if (!fb->parentWidgetIsSet()) fb->setParentWidget(parentWidget); + // Is this a QLayoutWidget with a margin of 0: Not a known page-based + // container and no method for adding pages registered. fb->setProcessingLayoutWidget(false); if (ui_widget->attributeClass() == QFormBuilderStrings::instance().qWidgetClass && !ui_widget->hasAttributeNative() && parentWidget @@ -147,8 +149,11 @@ #ifndef QT_NO_DOCKWIDGET && !qobject_cast(parentWidget) #endif - ) - fb->setProcessingLayoutWidget(true); + ) { + const QString parentClassName = QLatin1String(parentWidget->metaObject()->className()); + if (!fb->isCustomWidgetContainer(parentClassName)) + fb->setProcessingLayoutWidget(true); + } return QAbstractFormBuilder::create(ui_widget, parentWidget); }