From a6f87c60ed135c8f92a0de846dba5734fa7cf6c6 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 23 Sep 2011 12:19:02 +0200 Subject: Don't store the alignment attribute for spacers And for QLayoutWidget as it is not allowed and will create a code which doesn't compile Reviewed-by: con Task-number: QTBUG-21575 --- tools/designer/src/lib/uilib/abstractformbuilder.cpp | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/tools/designer/src/lib/uilib/abstractformbuilder.cpp b/tools/designer/src/lib/uilib/abstractformbuilder.cpp index 81f1a3b..665badb 100644 --- a/tools/designer/src/lib/uilib/abstractformbuilder.cpp +++ b/tools/designer/src/lib/uilib/abstractformbuilder.cpp @@ -1452,6 +1452,8 @@ struct FormBuilderSaveLayoutEntry { explicit FormBuilderSaveLayoutEntry(QLayoutItem *li = 0) : item(li), row(-1), column(-1), rowSpan(0), columnSpan(0), alignment(0) {} + void setAlignment(Qt::Alignment al); + QLayoutItem *item; int row; int column; @@ -1460,6 +1462,20 @@ struct FormBuilderSaveLayoutEntry { Qt::Alignment alignment; }; +// filter out the case of "Spacer" and "QLayoutWidget" widgets +void FormBuilderSaveLayoutEntry::setAlignment(Qt::Alignment al) +{ + if (!item->widget()) + return; + + const QString className = item->widget()->metaObject()->className(); + if (className == QLatin1String("Spacer") + || className == QLatin1String("QLayoutWidget")) + return; + + alignment = al; +} + // Create list from standard box layout static QList saveLayoutEntries(const QLayout *layout) { @@ -1469,7 +1485,7 @@ static QList saveLayoutEntries(const QLayout *layout for (int idx = 0; idx < count; ++idx) { QLayoutItem *item = layout->itemAt(idx); FormBuilderSaveLayoutEntry entry(item); - entry.alignment = item->alignment(); + entry.setAlignment(item->alignment()); rc.append(entry); } } @@ -1486,7 +1502,7 @@ static QList saveGridLayoutEntries(QGridLayout *grid QLayoutItem *item = gridLayout->itemAt(idx); FormBuilderSaveLayoutEntry entry(item); gridLayout->getItemPosition(idx, &entry.row, &entry.column, &entry.rowSpan,&entry.columnSpan); - entry.alignment = item->alignment(); + entry.setAlignment(item->alignment()); rc.append(entry); } } -- cgit v0.12 From 140e68ae50411631aa5c1649face4c7d9d1b651d Mon Sep 17 00:00:00 2001 From: Iikka Eklund Date: Fri, 23 Sep 2011 17:13:39 +0200 Subject: Fix broken qglthreads autotest build on Solaris. qglthreads autotest can not find usleep() function when compiling on Solaris platform. Added qplatformdefs.h include to fix compilation. Task-number: QTBUG-21594 Merge-request: 1394 Reviewed-by: Oswald Buddenhagen --- tests/auto/qglthreads/tst_qglthreads.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/auto/qglthreads/tst_qglthreads.cpp b/tests/auto/qglthreads/tst_qglthreads.cpp index 859f47f..60fb10c 100644 --- a/tests/auto/qglthreads/tst_qglthreads.cpp +++ b/tests/auto/qglthreads/tst_qglthreads.cpp @@ -49,6 +49,7 @@ #include // for usleep #define RUNNING_TIME 2000 // save GPU mem by running shorter time. #else +#include "qplatformdefs.h" // for usleep #define RUNNING_TIME 5000 #endif -- cgit v0.12