Skip to content
This repository has been archived by the owner on Sep 4, 2019. It is now read-only.

Commit

Permalink
Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-symbian-staging…
Browse files Browse the repository at this point in the history
… into master-integration

* 'master' of scm.dev.nokia.troll.no:qt/qt-symbian-staging:
  Symbian: allow apps to disable GL multisampling
  QSqlRelationalTableModel doesn't follow relations on the first column
  symbian - don't export qsymbianbearer.qtplugin twice
  • Loading branch information
Qt Continuous Integration System committed Dec 6, 2011
2 parents e1a6e87 + 3b6324b commit 8a39004
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 5 deletions.
5 changes: 4 additions & 1 deletion src/opengl/qgl_symbian.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,10 @@ bool QGLContext::chooseContext(const QGLContext* shareContext) // almost same as
d->ownsEglContext = true;
d->eglContext->setApi(QEgl::OpenGL);

if (!QSymbianGraphicsSystemEx::hasBCM2727()) {
// Allow apps to override ability to use multisampling by setting an environment variable. Eg:
// qputenv("QT_SYMBIAN_DISABLE_GL_MULTISAMPLE", "1");
// Added to allow camera app to start with limited memory.
if (!QSymbianGraphicsSystemEx::hasBCM2727() && !qgetenv("QT_SYMBIAN_DISABLE_GL_MULTISAMPLE").toInt()) {
// Most likely we have hw support for multisampling
// so let's enable it.
d->glFormat.setSampleBuffers(1);
Expand Down
6 changes: 3 additions & 3 deletions src/s60installs/s60installs.pro
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,6 @@ symbian: {
pluginLocations = $${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)
bearerPluginLocation = $${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)
bearerStubZ = $${EPOCROOT}$${HW_ZDIR}$${QT_PLUGINS_BASE_DIR}/bearer/qsymbianbearer$${QT_LIBINFIX}.qtplugin
BLD_INF_RULES.prj_exports += \
"$$S60_INSTALLS_SOURCE_DIR/qsymbianbearer.qtplugin /$${HW_ZDIR}$${QT_PLUGINS_BASE_DIR}/bearer/qsymbianbearer$${QT_LIBINFIX}.qtplugin" \
"$$S60_INSTALLS_SOURCE_DIR/qsymbianbearer.qtplugin /epoc32/winscw/c$${QT_PLUGINS_BASE_DIR}/bearer/qsymbianbearer$${QT_LIBINFIX}.qtplugin"
} else {
pluginLocations = $$QT_BUILD_TREE/plugins/s60
bearerPluginLocation = $$QT_BUILD_TREE/plugins/bearer
Expand All @@ -54,6 +51,9 @@ symbian: {
"ENDIF" \
" \"$$bearerStubZ\" - \"c:$$replace(QT_PLUGINS_BASE_DIR,/,\\)\\bearer\\qsymbianbearer$${QT_LIBINFIX}.qtplugin\""
qtlibraries.pkg_postrules += qts60plugindeployment
BLD_INF_RULES.prj_exports += \
"$$S60_INSTALLS_SOURCE_DIR/qsymbianbearer.qtplugin /$${HW_ZDIR}$${QT_PLUGINS_BASE_DIR}/bearer/qsymbianbearer$${QT_LIBINFIX}.qtplugin" \
"$$S60_INSTALLS_SOURCE_DIR/qsymbianbearer.qtplugin /epoc32/winscw/c$${QT_PLUGINS_BASE_DIR}/bearer/qsymbianbearer$${QT_LIBINFIX}.qtplugin"
} else {
# No need to deploy plugins for older platform versions when building on Symbian3 or later
bearer_plugin.files = $$QT_BUILD_TREE/plugins/bearer/qsymbianbearer$${QT_LIBINFIX}.dll
Expand Down
2 changes: 1 addition & 1 deletion src/sql/models/qsqlrelationaltablemodel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -430,7 +430,7 @@ QVariant QSqlRelationalTableModel::data(const QModelIndex &index, int role) cons
{
Q_D(const QSqlRelationalTableModel);

if (role == Qt::DisplayRole && index.column() > 0 && index.column() < d->relations.count() &&
if (role == Qt::DisplayRole && index.column() >= 0 && index.column() < d->relations.count() &&
d->relations.value(index.column()).isValid()) {
QRelation &relation = d->relations[index.column()];
if (!relation.isDictionaryInitialized())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ private slots:
void whiteSpaceInIdentifiers();
void psqlSchemaTest();
void selectAfterUpdate();
void relationOnFirstColumn();

private:
void dropTestTables( QSqlDatabase db );
Expand Down Expand Up @@ -1490,5 +1491,59 @@ void tst_QSqlRelationalTableModel::selectAfterUpdate()
QCOMPARE(model.data(model.index(0,2)), QVariant("mrs"));
}

/**
This test case verifies bug fix for QTBUG-20038.
*/
void tst_QSqlRelationalTableModel::relationOnFirstColumn()
{
QFETCH_GLOBAL(QString, dbName);
QSqlDatabase db = QSqlDatabase::database(dbName);
CHECK_DATABASE(db);

QString testTable1 = qTableName("QTBUG_20038_test1", __FILE__);
QString testTable2 = qTableName("QTBUG_20038_test2", __FILE__);
tst_Databases::safeDropTables(db, QStringList() << testTable1 << testTable2);

//prepare test1 table
QSqlQuery q(db);
QVERIFY_SQL(q, exec("CREATE TABLE " + testTable1 + " (val1 INTEGER, id1 INTEGER PRIMARY KEY);"));
QVERIFY_SQL(q, exec("DELETE FROM " + testTable1 + ";"));
QVERIFY_SQL(q, exec("INSERT INTO " + testTable1 + " (id1, val1) VALUES(1, 10);"));
QVERIFY_SQL(q, exec("INSERT INTO " + testTable1 + " (id1, val1) VALUES(2, 20);"));
QVERIFY_SQL(q, exec("INSERT INTO " + testTable1 + " (id1, val1) VALUES(3, 30);"));

//prepare test2 table
QVERIFY_SQL(q, exec("CREATE TABLE " + testTable2 + " (id INTEGER PRIMARY KEY, name TEXT);"));
QVERIFY_SQL(q, exec("DELETE FROM " + testTable2 + ";"));
QVERIFY_SQL(q, exec("INSERT INTO " + testTable2 + " (id, name) VALUES (10, 'Hervanta');"));
QVERIFY_SQL(q, exec("INSERT INTO " + testTable2 + " (id, name) VALUES (20, 'Keskusta');"));
QVERIFY_SQL(q, exec("INSERT INTO " + testTable2 + " (id, name) VALUES (30, 'Annala');"));
QVERIFY_SQL(q, exec("INSERT INTO " + testTable2 + " (id, name) VALUES (40, 'Tammela');"));
QVERIFY_SQL(q, exec("INSERT INTO " + testTable2 + " (id, name) VALUES (50, 'Amuri');"));

//set test model
QSqlRelationalTableModel model(NULL, db);
model.setTable(testTable1);
model.setRelation(0, QSqlRelation(testTable2, "id", "name"));
QVERIFY_SQL(model, select());

//verify the data
QCOMPARE(model.data(model.index(0, 0)), QVariant("Hervanta"));
QCOMPARE(model.data(model.index(1, 0)), QVariant("Keskusta"));
QCOMPARE(model.data(model.index(2, 0)), QVariant("Annala"));

//modify the model data
QVERIFY_SQL(model, setData(model.index(0, 0), 40));
QVERIFY_SQL(model, setData(model.index(1, 0), 50));
QVERIFY_SQL(model, setData(model.index(2, 0), 30));

//verify the data after modificaiton
QCOMPARE(model.data(model.index(0, 0)), QVariant("Tammela"));
QCOMPARE(model.data(model.index(1, 0)), QVariant("Amuri"));
QCOMPARE(model.data(model.index(2, 0)), QVariant("Annala"));

tst_Databases::safeDropTables(db, QStringList() << testTable1 << testTable2);
}

QTEST_MAIN(tst_QSqlRelationalTableModel)
#include "tst_qsqlrelationaltablemodel.moc"

0 comments on commit 8a39004

Please sign in to comment.