From e851be3ae78b54cd5b0391436563dcc81c6e8817 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 29 Jun 2009 00:28:48 +0200 Subject: Don't crash in libdbus-1 because of invalid parameters. Some QDBusAbstractInterface can have empty paths or service names, for wildcard purposes. If someone tries to make a call using those interfaces, the application crashes. So check for the invalid conditions and don't make the call. If we return 0 here, the message-sending code will generate an error in QDBusConnectionPrivate. Reviewed-by: TrustMe --- src/dbus/qdbusmessage.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/dbus/qdbusmessage.cpp b/src/dbus/qdbusmessage.cpp index 47dd34b..9150295 100644 --- a/src/dbus/qdbusmessage.cpp +++ b/src/dbus/qdbusmessage.cpp @@ -108,8 +108,11 @@ DBusMessage *QDBusMessagePrivate::toDBusMessage(const QDBusMessage &message) //qDebug() << "QDBusMessagePrivate::toDBusMessage" << "message is invalid"; break; case DBUS_MESSAGE_TYPE_METHOD_CALL: - msg = q_dbus_message_new_method_call(data(d_ptr->service.toUtf8()), data(d_ptr->path.toUtf8()), - data(d_ptr->interface.toUtf8()), data(d_ptr->name.toUtf8())); + // only interface can be empty + if (d_ptr->service.isEmpty() || d_ptr->path.isEmpty() || d_ptr->name.isEmpty()) + break; + msg = q_dbus_message_new_method_call(d_ptr->service.toUtf8(), d_ptr->path.toUtf8(), + data(d_ptr->interface.toUtf8()), d_ptr->name.toUtf8()); break; case DBUS_MESSAGE_TYPE_METHOD_RETURN: msg = q_dbus_message_new(DBUS_MESSAGE_TYPE_METHOD_RETURN); @@ -119,16 +122,22 @@ DBusMessage *QDBusMessagePrivate::toDBusMessage(const QDBusMessage &message) } break; case DBUS_MESSAGE_TYPE_ERROR: + // error name can't be empty + if (d_ptr->name.isEmpty()) + break; msg = q_dbus_message_new(DBUS_MESSAGE_TYPE_ERROR); - q_dbus_message_set_error_name(msg, data(d_ptr->name.toUtf8())); + q_dbus_message_set_error_name(msg, d_ptr->name.toUtf8()); if (!d_ptr->localMessage) { q_dbus_message_set_destination(msg, q_dbus_message_get_sender(d_ptr->reply)); q_dbus_message_set_reply_serial(msg, q_dbus_message_get_serial(d_ptr->reply)); } break; case DBUS_MESSAGE_TYPE_SIGNAL: - msg = q_dbus_message_new_signal(data(d_ptr->path.toUtf8()), data(d_ptr->interface.toUtf8()), - data(d_ptr->name.toUtf8())); + // nothing can be empty here + if (d_ptr->path.isEmpty() || d_ptr->interface.isEmpty() || d_ptr->name.isEmpty()) + break; + msg = q_dbus_message_new_signal(d_ptr->path.toUtf8(), d_ptr->interface.toUtf8(), + d_ptr->name.toUtf8()); break; default: Q_ASSERT(false); -- cgit v0.12 From 4efa1ba22825fb9a8be572dbf595cb29a4e4840b Mon Sep 17 00:00:00 2001 From: Derick Hawcroft Date: Mon, 29 Jun 2009 10:59:04 +1000 Subject: bug fix Task-number: 217003 Reviewed-by: Bill King --- src/sql/kernel/qsqlcachedresult.cpp | 5 ++++- tests/auto/qsqlquery/tst_qsqlquery.cpp | 10 ++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/sql/kernel/qsqlcachedresult.cpp b/src/sql/kernel/qsqlcachedresult.cpp index 3cace06..4b094c6 100644 --- a/src/sql/kernel/qsqlcachedresult.cpp +++ b/src/sql/kernel/qsqlcachedresult.cpp @@ -184,8 +184,11 @@ bool QSqlCachedResult::fetch(int i) if (d->rowCacheEnd > 0) setAt(d->cacheCount()); while (at() < i + 1) { - if (!cacheNext()) + if (!cacheNext()) { + if (d->canSeek(i)) + break; return false; + } } setAt(i); diff --git a/tests/auto/qsqlquery/tst_qsqlquery.cpp b/tests/auto/qsqlquery/tst_qsqlquery.cpp index 825db6c..ed19e91 100644 --- a/tests/auto/qsqlquery/tst_qsqlquery.cpp +++ b/tests/auto/qsqlquery/tst_qsqlquery.cpp @@ -175,13 +175,14 @@ private slots: void emptyTableNavigate(); #ifdef NOT_READY_YET - void task_217003_data() { generic_data(); } - void task_217003(); void task_229811(); void task_229811_data() { generic_data(); } void task_234422_data() { generic_data(); } void task_234422(); #endif + void task_217003_data() { generic_data(); } + void task_217003(); + void task_250026_data() { generic_data("QODBC"); } void task_250026(); void task_205701_data() { generic_data("QMYSQL"); } @@ -299,9 +300,8 @@ void tst_QSqlQuery::dropTestTables( QSqlDatabase db ) tablenames << qTableName( "qtest_lockedtable" ); -#ifdef NOT_READY_YET tablenames << qTableName( "Planet" ); -#endif + tablenames << qTableName( "task_250026" ); tst_Databases::safeDropTables( db, tablenames ); @@ -2658,7 +2658,6 @@ void tst_QSqlQuery::emptyTableNavigate() } } -#ifdef NOT_READY_YET void tst_QSqlQuery::task_217003() { QFETCH( QString, dbName ); @@ -2685,7 +2684,6 @@ void tst_QSqlQuery::task_217003() QVERIFY_SQL( q, seek( 1 ) ); QCOMPARE( q.value( 0 ).toString(), QString( "Venus" ) ); } -#endif void tst_QSqlQuery::task_250026() { -- cgit v0.12 From b6171cfbe3b1453a2c46f78db0df4819e4e5e54f Mon Sep 17 00:00:00 2001 From: Jens Bache-Wiig Date: Mon, 29 Jun 2009 13:47:24 +0200 Subject: Fix coverity warning Coverity was complaining because we were not checking the return value of find() but instead using the pixmap handle to check the result. This makes the call more consistent Reviewed-by: mgoetz --- src/gui/styles/qgtkstyle.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/gui/styles/qgtkstyle.cpp b/src/gui/styles/qgtkstyle.cpp index 218f651..e2dcfba 100644 --- a/src/gui/styles/qgtkstyle.cpp +++ b/src/gui/styles/qgtkstyle.cpp @@ -686,11 +686,10 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element, const QString pmKey = QString(QLS("windowframe %0")).arg(option->state); QPixmap pixmap; - QPixmapCache::find(pmKey, pixmap); QRect pmRect(QPoint(0,0), QSize(pmSize, pmSize)); // Only draw through style once - if (pixmap.isNull()) { + if (!QPixmapCache::find(pmKey, pixmap)) { pixmap = QPixmap(pmSize, pmSize); pixmap.fill(Qt::transparent); QPainter pmPainter(&pixmap); -- cgit v0.12 From 29812003b5ae8641773e0f5bd35cf2c82957088b Mon Sep 17 00:00:00 2001 From: Jens Bache-Wiig Date: Mon, 29 Jun 2009 14:21:04 +0200 Subject: Fix autotest failure in QStyle:drawItemPixmap This was basically a problem with shadow builds not being able to access the pixmap. Reviewed-by:eskil --- tests/auto/qstyle/qstyle.pro | 3 +++ tests/auto/qstyle/tst_qstyle.cpp | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/auto/qstyle/qstyle.pro b/tests/auto/qstyle/qstyle.pro index 71ee2e6..ba0908a 100644 --- a/tests/auto/qstyle/qstyle.pro +++ b/tests/auto/qstyle/qstyle.pro @@ -2,9 +2,12 @@ load(qttest_p4) SOURCES += tst_qstyle.cpp wince*: { + DEFINES += SRCDIR=\\\".\\\" addPixmap.sources = task_25863.png addPixmap.path = . DEPLOYMENT += addPixmap +} else { + DEFINES += SRCDIR=\\\"$$PWD\\\" } diff --git a/tests/auto/qstyle/tst_qstyle.cpp b/tests/auto/qstyle/tst_qstyle.cpp index 961af1b..ed70c1d 100644 --- a/tests/auto/qstyle/tst_qstyle.cpp +++ b/tests/auto/qstyle/tst_qstyle.cpp @@ -217,7 +217,8 @@ void tst_QStyle::drawItemPixmap() { testWidget->resize(300, 300); testWidget->show(); - QPixmap p("task_25863.png", "PNG"); + + QPixmap p(QString(SRCDIR) + "/task_25863.png", "PNG"); QPixmap actualPix = QPixmap::grabWidget(testWidget); QVERIFY(pixmapsAreEqual(&actualPix,&p)); testWidget->hide(); -- cgit v0.12 From 982f73014771bbfb782d835eb8e6be3b44ff4ddc Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Mon, 29 Jun 2009 15:02:20 +0200 Subject: Remove a couple of registry entries when unregistering an ActiveX server These two entries were not removed since the server was an OOP server Reviewed-by: Prasanth --- src/activeqt/control/qaxserver.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/activeqt/control/qaxserver.cpp b/src/activeqt/control/qaxserver.cpp index c15cdac..7ac053e 100644 --- a/src/activeqt/control/qaxserver.cpp +++ b/src/activeqt/control/qaxserver.cpp @@ -351,6 +351,10 @@ HRESULT UpdateRegistry(BOOL bRegister) qAxFactory()->registerClass(*key, &settings); } } else { + if (qAxOutProcServer) { + settings.remove(QLatin1String("/AppID/") + appId + QLatin1String("/.")); + settings.remove(QLatin1String("/AppID/") + module + QLatin1String(".EXE")); + } QStringList keys = qAxFactory()->featureList(); for (QStringList::Iterator key = keys.begin(); key != keys.end(); ++key) { QString className = *key; -- cgit v0.12 From d8e80403e7e74a2236a7ec1a6d268c786e3042f5 Mon Sep 17 00:00:00 2001 From: Morten Engvoldsen Date: Mon, 29 Jun 2009 16:03:07 +0200 Subject: Doc: Adding documentation on supported data types in Qt SQL module Created a table showing the use of different data types in relations with different Qt-supported Databases. Also reviewed by Task-number: 182851 Rev-by: Geir Vattekar Rev-by: David Boddie Rev-by: Bill King --- doc/src/qsqldatatype-table.qdoc | 584 ++++++++++++++++++++++++++++++++++++++++ doc/src/qtsql.qdoc | 3 + 2 files changed, 587 insertions(+) create mode 100644 doc/src/qsqldatatype-table.qdoc diff --git a/doc/src/qsqldatatype-table.qdoc b/doc/src/qsqldatatype-table.qdoc new file mode 100644 index 0000000..5ab6413 --- /dev/null +++ b/doc/src/qsqldatatype-table.qdoc @@ -0,0 +1,584 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \module QtSql + + \page qsqldatatype-table.html + + \title QtSql Module - Recommended use of data types + + \section1 Recommended use of types and widgets in Qt supported Databases + + This table shows the recommended data types used when extracting data + from the databases supported in Qt. It is important to note that the + types used in Qt not necessary are valid as input to the specific + database. One example could be that a double would work perfect as + input for floating point records in a database, but not necessary + as output to the database since it would be stored with 64-bit in C++. + + \tableofcontents + + \section2 IBM DB2 data type + + \table + \row + \header IBM DB2 data type + \header SQL Type Description + \header Recommended input (C++ data type and Qt ) + \row + \o SMALLINT + \o 16-bit signed integer + \o typedef qint16 + \row + \o INTEGER + \o 32-bit signed integer + \o typedef qint32 + \row + \o BIGINT + \o 64-bit signed integer + \o typedef qint64 + \row + \o REAL + \o 32-bit Single-precision floating point + \o By default mapping to QString + \row + \o DOUBLE PRECISION + \o 64-bit Double-precision floating point + \o By default mapping to QString + \row + \o FLOAT + \o 64-bit Double-precision floating point + \o By default mapping to QString + \row + \o CHAR + \o Fixed-length, null-terminated character string + \o Mapped to QString + \row + \o VARCHAR + \o Null-terminated varying length string + \o Mapped to QString + \row + \o LONG VARCHAR + \o Not null-terminated varying length character string + \o Mapped to QString + \row + \o BLOB + \o Not null-terminated varying binary string with 4-byte string + length indicator + \o Mapped to QByteArray + \row + \o CLOB + \o Character large string object + \o Mapped to QString + \row + \o DATE + \o Null-terminated character string of the following format: + yyyy-mm-dd + \o Mapped to QDate + \row + \o TIME + \o Null-terminated character string of the following format: hh.mm.ss + \o Mapped to QTime + \row + \o TIMESTAMP + \o Null-terminated character string of the following format: yyyy-mm-dd-hh.mm.ss.nnnnnn + \o Mapped to QDateTime + \endtable + + \section2 Borland InterBase data type + + \table + \row + \header Borland InterBase data type + \header SQL Type Description + \header Recommended input (C++ data type/Qt Widget) + \row + \o BOOLEAN + \o Boolean + \o bool + \row + \o TINYINT + \o 8 bit signed integer + \o typedef qint8 + \row + \o SMALLINT + \o 16-bit signed integer + \o typedef qint16 + \row + \o INTEGER + \o 32-bit signed integer + \o typedef qint32 + \row + \o BIGINT LONG + \o 64-bit signed integer + \o typedef qint64 + \row + \o REAL FLOAT + \o 32-bit floating point + \o By default mapping to QString + \row + \o FLOAT + \o 64-bit floating point + \o By default mapping to QString + \row + \o DOUBLE + \o 64-bit floating point + \o By default mapping to QString + \row + \o DOUBLE PRECISION + \o 64-bit Double-precision floating point + \o By default mapping to QString + \row + \o VARCHAR STRING + \o Character string, Unicode + \o Mapped to QString + \row + \o CLOB + \o Character large string object + \o Mapped to QString + \row + \o DATE + \o Displays date. Format: 'yyyy-mm-dd' + \o Mapped to QDate + \row + \o TIME + \o Displays time. Format is 'hh:mm:ss' in 24-hour format + \o Mapped to QTime + \row + \o TIMESTAMP + \o Displays a timestamp. Format is 'yyyy-mm-dd hh:mm:ss' + \o Mapped to QDateTime + \endtable + + \section2 MySQL data type + + \table + \row + \header MySQL data type + \header SQL Type Description + \header Recommended input (C++ data type/Qt Widget) + \row + \o TINYINT + \o 8 bit signed integer + \o typedef qint8 + \row + \o TINYINT UNSIGNED + \o 8 bit unsigned integer + \o typedef quint8 + \row + \o SMALLINT + \o 16-bit signed integer + \o typedef qint16 + \row + \o SMALLINT UNSIGNED + \o 16-bit unsigned integer + \o typedef quint16 + \row + \o INT + \o 32-bit signed integer + \o typedef qint32 + \row + \o INT UNSIGNED + \o 32-bit unsigned integer + \o typedef quint32 + \row + \o BIGINT + \o 64-bit signed integer + \o typedef qint64 + \row + \o FLOAT + \o 32-bit Floating Point + \o By default mapping to QString + \row + \o DOUBLE + \o 64-bit Floating Point + \o By default mapping to QString + \row + \o CHAR + \o Character string + \o Mapped to QString + \row + \o VARCHAR + \o Character string + \o Mapped to QString + \row + \o TINYTEXT + \o Character string + \o Mapped to QString + \row + \o TEXT + \o Character string + \o Mapped to QString + \row + \o MEDIUMTEXT + \o Character string + \o Mapped to QString + \row + \o LONGTEXT + \o Character string + \o Mapped to QString + \row + \o CLOB + \o Character large string object + \o Mapped to QString + \row + \o all BLOB types + \o BLOB + \o Mapped to QByteArray + \row + \o DATE + \o Date without Time + \o Mapped to QDate + \row + \o DATETIME + \o Date and Time + \o Mapped to QDateTime + \row + \o TIMESTAMP + \o Date and Time + \o Mapped to QDateTime + \row + \o TIME + \o Time + \o Mapped to QTime + \row + \o YEAR + \o Year (int) + \o Mapped to QDateTime + \row + \o ENUM + \o Enumeration of Value Set + \o Mapped to QString + \endtable + + \section2 Oracle Call Interface data type + + \table + \row + \header Oracle Call Interface data type + \header SQL Type Description + \header Recommended input (C++ data type/Qt Widget) + \row + \o NUMBER + \o FLOAT, DOUBLE, PRECISIONc REAL + \o By default mapping to QString + \row + \o NUMBER(38) + \o INTEGER INT SMALLINT + \o typedef qint8/16/32/64 + \row + \o NUMBER(p,s) + \o NUMERIC(p,s) DECIMAL(p,s)a + \o By default mapping to QString + \row + \o NVARCHAR2(n) + \o Character string (NATIONAL CHARACTER VARYING(n) NATIONAL + CHAR VARYING(n) NCHAR VARYING(n)) + \o Mapped to QString + \row + \o NCHAR(n) + \o Character string (NATIONAL CHARACTER(n) NATIONAL CHAR(n) + NCHAR(n)) + \o Mapped to QString + \row + \o CHAR(n) + \o Character string (CHARACTER(n) CHAR(n)) + \o Mapped to QString + \row + \o CLOB + \o Character large string object + \o Mapped to QString + \row + \o BLOB + \o A binary large object + \o Mapped to QByteArray + \row + \o TIMESTAMP + \o Year, month, and day values of date, as well as hour, minute, + and second values of time + \o Mapped to QDateTime + \endtable + + \section2 ODBC data type + + \table + \row + \header ODBC data type + \header SQL Type Description + \header Recommended input (C++ data type/Qt Widget) + \row + \o BIT + \o Boolean + \o BOOL + \row + \o TINYINT + \o 8 bit integer + \o typedef qint8 + \row + \o SMALLINT + \o 16-bit signed integer + \o typedef qint16 + \row + \o INTEGER + \o 32-bit signed integer + \o typedef qint32 + \row + \o BIGINT + \o 64-bit signed integer + \o typedef qint64 + \row + \o REAL + \o 32-bit Single-precision floating point + \o By default mapping to QString + \row + \o FLOAT + \o 64-bit Double floating point + \o By default mapping to QString + \row + \o DOUBLE + \o 64-bit Double floating point + \o By default mapping to QString + \row + \o CHAR + \o Character string + \o Mapped to QString + \row + \o VARCHAR + \o Character string + \o Mapped to QString + \row + \o LONGVARCHAR + \o Character string + \o Mapped to QString + \row + \o CLOB + \o Character large string object + \o Mapped to QString + \row + \o DATE + \o Character string + \o Mapped to QDate + \row + \o TIME + \o Character Time, Character string + \o Mapped to QTime + \row + \o TIMESTAMP + \o Character Time, Character string + \o Mapped to QDateTime + \endtable + + \section2 PostgreSQL data type + + \table + \row + \header PostgreSQL data type + \header SQL Type Description + \header Recommended input (C++ data type/Qt Widget) + \row + \o BOOLEAN + \o Boolean + \o bool + \row + \o SMALLINT + \o 16-bit signed integer + \o typedef qint16 + \row + \o INTEGER + \o 32-bit signed integer + \o typedef qint32 + \row + \o BIGINT + \o 64-bit signed integer + \o typedef qint64 + \row + \o REAL + \o 32-bit variable-precision floating point + \o By default mapping to QString + \row + \o DOUBLE PRECISION + \o 64-bit variable-precision floating point + \o By default mapping to QString + \row + \o DECIMAL VARIABLE + \o user-specified precision, exact + \o Mapped to QString + \row + \o NUMERIC VARIABLE + \o user-specified precision, exact + \o Mapped to QString + \row + \o VARCHAR + \o variable-length character string + \o Mapped to QString + \row + \o CHARACTER + \o Character string of fixed-length + \o Mapped to QString + \row + \o TEXT + \o Character string of variable-length + \o Mapped to QString + \row + \o CLOB + \o Character large string object + \o Mapped to QString + \row + \o TIMESTAMP + \o 8 bytes, both date and time + \o Mapped to QDateTime + \row + \o TIMESTAMP + \o 8 bytes, both date and time, with time zone + \o Mapped to QDateTime + \row + \o DATE + \o 4 bytes, dates only + \o Mapped to QDate + \row + \o TIME + \o 8 bytes, times of day only 00:00:00.00 - 23:59:59.99 + \o Mapped to QTime + \row + \o TIME + \o 12 bytes times of day only, with time zone 00:00:00.00+12 + \o Mapped to QDateTime + \endtable + + \section2 QSQLITE SQLite version 3 data type + + \table + \row + \header QSQLITE SQLite version 3 data type + \header SQL Type Description + \header Recommended input (C++ data type/Qt Widget) + \row + \o NULL + \o NULL value. + \o NULL + \row + \o INTEGER + \o Signed integer, stored in 8, 16, 24, 32, 48, or 64-bits + depending on the magnitude of the value. + \o typedef qint8/16/32/64 + \row + \o REAL + \o 64-bit floating point value. + \o By default mapping to QString + \row + \o TEXT + \o Character string (UTF-8, UTF-16BE or UTF-16-LE). + \o Mapped to QString + \row + \o CLOB + \o Character large string object + \o Mapped to QString + \row + \o BLOB + \o The value is a BLOB of data, stored exactly as it was input. + \o Mapped to QByteArray + \endtable + + \section2 Sybase Adaptive Server data type + + \table + \row + \header Sybase Adaptive Server data type + \header SQL Type Description + \header Recommended input (C++ data type/Qt Widget) + \row + \o BINARY + \o Describes a fixed-length binary value up to 255 bytes in size. + \o Mapped to QByteArray + \row + \o CHAR + \o Character String + \o Mapped to QString + \row + \o DATETIME + \o Date and time. Range: 1753-01-01 00:00:00 through + 9999-12-31 23:59:59. + \o Mapped to QDateTime + \row + \o NCHAR + \o Character String of fixed length + \o Mapped to QString + \row + \o NVARACHAR + \o Character String of variable length + \o Mapped to QString + \row + \o VARCHAR + \o Character String of fixed length + \o Mapped to QString + \row + \o CLOB + \o Character large string object + \o Mapped to QString + \row + \o TIMESTAMP + \o A unique number within a database + \o Mapped to QString + \row + \o SMALLDATETIME + \o Date and time. Range: 1900-01-01 00:00 through 2079-12-31 23:59 + \o Mapped to QDateTime + \row + \o UNICHAR + \o Character String of fixed length.(Unicode) + \o Mapped to QString + \row + \o UNIVARCHAR + \o Character String of variable length.(Unicode) + \o Mapped to QString + \row + \o VARBINARY + \o Describes a variable-length binary value up to 255 bytes in size + \o Mapped to QByteArray + \endtable + + \section2 SQLite Version 2 + SQLite V.2 is "typeless". This means that you can store any kind of + data you want in any column of any table, regardless of the declared + data type of that column. We recommend that you map the data to QString. + +*/ diff --git a/doc/src/qtsql.qdoc b/doc/src/qtsql.qdoc index ff58c62..54ea86a 100644 --- a/doc/src/qtsql.qdoc +++ b/doc/src/qtsql.qdoc @@ -212,6 +212,9 @@ QVariant::toString() and QVariant::toInt() to convert variants to QString and \c int. + For an overview of the recommended types used with Qt supported + Databases, please refer to \l {QtSql Module - Recommended use of data types}{this table}. + You can iterate back and forth using QSqlQuery::next(), QSqlQuery::previous(), QSqlQuery::first(), QSqlQuery::last(), and QSqlQuery::seek(). The current row index is returned by -- cgit v0.12 From 150f29a4b3144a59bf49394bbb0eea53eb8a72f6 Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Mon, 29 Jun 2009 15:58:02 +0200 Subject: Fix crash/artifacts on SuperH Add SuperH to the ever growing list of architectures which can't correctly dereference a short* which is not 16-bit aligned. Turning this into a white-list rather than a black list might make sense at some point, but as QT_ARCH_I386 isn't defined on windows, the white list looks even uglier at the moment. :-) Task-number: 257077 Reviewed-by: TrustMe --- src/gui/painting/qblendfunctions.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gui/painting/qblendfunctions.cpp b/src/gui/painting/qblendfunctions.cpp index f14de93..baea140 100644 --- a/src/gui/painting/qblendfunctions.cpp +++ b/src/gui/painting/qblendfunctions.cpp @@ -317,9 +317,9 @@ template void qt_blend_argb24_on_rgb16(uchar *destPixels, int dbpl, const uchar *src = srcPixels + y * sbpl; const uchar *srcEnd = src + srcOffset; while (src < srcEnd) { -#if defined(QT_ARCH_ARM) || defined(QT_ARCH_POWERPC) || (defined(QT_ARCH_WINDOWSCE) && !defined(_X86_)) - // non-16-bit aligned memory access is not possible on PowerPC & - // ARM Date: Mon, 29 Jun 2009 15:38:12 +0200 Subject: QNetworkAccessManager stuff: Some fixes for coverity A few "fixes" to make that number go down.. Reviewed-by: Thiago Macieira --- src/network/access/qhttpnetworkconnection.cpp | 10 +++++++--- src/network/access/qhttpnetworkconnection_p.h | 3 ++- src/network/access/qnetworkreplyimpl.cpp | 6 ++++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp index 4c08794..726b954 100644 --- a/src/network/access/qhttpnetworkconnection.cpp +++ b/src/network/access/qhttpnetworkconnection.cpp @@ -135,7 +135,9 @@ int QHttpNetworkConnectionPrivate::indexOf(QAbstractSocket *socket) const for (int i = 0; i < channelCount; ++i) if (channels[i].socket == socket) return i; - return -1; + + qFatal("Called with unknown socket object."); + return 0; } bool QHttpNetworkConnectionPrivate::isSocketBusy(QAbstractSocket *socket) const @@ -515,7 +517,7 @@ void QHttpNetworkConnectionPrivate::receiveReply(QAbstractSocket *socket, QHttpN // try to reconnect/resend before sending an error. if (channels[i].reconnectAttempts-- > 0) { resendCurrentRequest(socket); - } else { + } else if (reply) { reply->d_func()->errorString = errorDetail(QNetworkReply::RemoteHostClosedError, socket); emit reply->finishedWithError(QNetworkReply::RemoteHostClosedError, reply->d_func()->errorString); QMetaObject::invokeMethod(q, "_q_startNextRequest", Qt::QueuedConnection); @@ -788,6 +790,7 @@ void QHttpNetworkConnectionPrivate::createAuthorization(QAbstractSocket *socket, Q_ASSERT(socket); int i = indexOf(socket); + if (channels[i].authMehtod != QAuthenticatorPrivate::None) { if (!(channels[i].authMehtod == QAuthenticatorPrivate::Ntlm && channels[i].lastStatus != 401)) { QAuthenticatorPrivate *priv = QAuthenticatorPrivate::getPrivate(channels[i].authenticator); @@ -1322,7 +1325,8 @@ void QHttpNetworkConnectionPrivate::_q_encrypted() QAbstractSocket *socket = qobject_cast(q->sender()); if (!socket) return; // ### error - channels[indexOf(socket)].state = IdleState; + int i = indexOf(socket); + channels[i].state = IdleState; sendRequest(socket); } diff --git a/src/network/access/qhttpnetworkconnection_p.h b/src/network/access/qhttpnetworkconnection_p.h index 04609cf..feb974c 100644 --- a/src/network/access/qhttpnetworkconnection_p.h +++ b/src/network/access/qhttpnetworkconnection_p.h @@ -244,7 +244,8 @@ public: #ifndef QT_NO_OPENSSL bool ignoreSSLErrors; #endif - Channel() :state(IdleState), reply(0), written(0), bytesTotal(0), resendCurrent(false), reconnectAttempts(2), + Channel() : socket(0), state(IdleState), reply(0), written(0), bytesTotal(0), resendCurrent(false), + lastStatus(0), pendingEncrypt(false), reconnectAttempts(2), authMehtod(QAuthenticatorPrivate::None), proxyAuthMehtod(QAuthenticatorPrivate::None) #ifndef QT_NO_OPENSSL , ignoreSSLErrors(false) diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp index d903d03..63a9c2d 100644 --- a/src/network/access/qnetworkreplyimpl.cpp +++ b/src/network/access/qnetworkreplyimpl.cpp @@ -52,10 +52,12 @@ QT_BEGIN_NAMESPACE inline QNetworkReplyImplPrivate::QNetworkReplyImplPrivate() - : copyDevice(0), networkCache(0), + : backend(0), outgoingData(0), + copyDevice(0), networkCache(0), cacheEnabled(false), cacheSaveDevice(0), notificationHandlingPaused(false), bytesDownloaded(0), lastBytesDownloaded(-1), bytesUploaded(-1), + httpStatusCode(0), state(Idle) { } @@ -129,7 +131,7 @@ void QNetworkReplyImplPrivate::_q_sourceReadChannelFinished() void QNetworkReplyImplPrivate::_q_copyReadyRead() { Q_Q(QNetworkReplyImpl); - if (!copyDevice && !q->isOpen()) + if (!copyDevice || !q->isOpen()) return; forever { -- cgit v0.12 From 3923d737f911103c5bba6544963833496b2058b1 Mon Sep 17 00:00:00 2001 From: Norwegian Rock Cat Date: Mon, 29 Jun 2009 16:35:51 +0200 Subject: Always turn on shadows for Cocoa. Frameless windows wouldn't get shadows in Cocoa, which they do in Carbon. You can argue over who is more correct, but the fact is they can't be inconsistent. Since Cocoa is the newcomer, I'm bending that. Though it would seem useful to have an ability to provide some developer control over the shadow. At the moment, the only thing we have to ensure is that we always turn on the shadow. Task-number: 254725 Reviewed-by: Denis --- src/gui/kernel/qwidget_mac.mm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm index 8f04b89..b9183de 100644 --- a/src/gui/kernel/qwidget_mac.mm +++ b/src/gui/kernel/qwidget_mac.mm @@ -2173,11 +2173,10 @@ void QWidgetPrivate::finishCreateWindow_sys_Cocoa(void * /*NSWindow * */ voidWin if ((popup || type == Qt::Tool || type == Qt::ToolTip) && !q->isModal()) { [windowRef setHidesOnDeactivate:YES]; - [windowRef setHasShadow:YES]; } else { [windowRef setHidesOnDeactivate:NO]; } - + [windowRef setHasShadow:YES]; Q_UNUSED(parentWidget); Q_UNUSED(dialog); -- cgit v0.12 From 02ed2cd9ddf57ee9daadbfc76e6b73dbd4165583 Mon Sep 17 00:00:00 2001 From: Ritt Konstantin Date: Mon, 29 Jun 2009 17:27:14 +0200 Subject: add Russian to the "'own' languages hack" until task #196275 will be closed Merge-request: 760 Reviewed-by: Oswald Buddenhagen --- tools/linguist/linguist/messageeditor.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/linguist/linguist/messageeditor.cpp b/tools/linguist/linguist/messageeditor.cpp index 108ea1d..67fe651 100644 --- a/tools/linguist/linguist/messageeditor.cpp +++ b/tools/linguist/linguist/messageeditor.cpp @@ -69,6 +69,7 @@ QT_BEGIN_NAMESPACE // functionality is provided within Qt (see task 196275). static const char * language_strings[] = { + QT_TRANSLATE_NOOP("MessageEditor", "Russian"), QT_TRANSLATE_NOOP("MessageEditor", "German"), QT_TRANSLATE_NOOP("MessageEditor", "Japanese"), QT_TRANSLATE_NOOP("MessageEditor", "French"), -- cgit v0.12 From ccd06993cbb00058c937f28e8aa17dab87b448de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Abecasis?= Date: Mon, 29 Jun 2009 13:42:43 +0200 Subject: QTemporaryFile: Report the user-provided openMode Reviewed-by: Thiago --- src/corelib/io/qtemporaryfile.cpp | 3 ++- tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp | 33 ++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/corelib/io/qtemporaryfile.cpp b/src/corelib/io/qtemporaryfile.cpp index a735dda..2d2db7d 100644 --- a/src/corelib/io/qtemporaryfile.cpp +++ b/src/corelib/io/qtemporaryfile.cpp @@ -341,6 +341,8 @@ bool QTemporaryFileEngine::open(QIODevice::OpenMode openMode) Q_D(QFSFileEngine); Q_ASSERT(!isReallyOpen()); + openMode |= QIODevice::ReadWrite; + if (!filePathIsTemplate) return QFSFileEngine::open(openMode); @@ -758,7 +760,6 @@ bool QTemporaryFile::open(OpenMode flags) } } - flags |= QIODevice::ReadWrite; if (QFile::open(flags)) { d->fileName = d->fileEngine->fileName(QAbstractFileEngine::DefaultName); return true; diff --git a/tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp b/tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp index d7c0574..66896a8 100644 --- a/tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp +++ b/tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp @@ -88,6 +88,7 @@ private slots: void rename(); void renameFdLeak(); void reOpenThroughQFile(); + void keepOpenMode(); public: }; @@ -439,5 +440,37 @@ void tst_QTemporaryFile::reOpenThroughQFile() QCOMPARE(file.readAll(), data); } +void tst_QTemporaryFile::keepOpenMode() +{ + QByteArray data("abcdefghij"); + + { + QTemporaryFile file; + QVERIFY(((QFile &)file).open(QIODevice::WriteOnly)); + QVERIFY(QIODevice::WriteOnly == file.openMode()); + + QCOMPARE(file.write(data), (qint64)data.size()); + file.close(); + + QVERIFY(((QFile &)file).open(QIODevice::ReadOnly)); + QVERIFY(QIODevice::ReadOnly == file.openMode()); + QCOMPARE(file.readAll(), data); + } + + { + QTemporaryFile file; + QVERIFY(file.open()); + QCOMPARE(file.write(data), (qint64)data.size()); + QVERIFY(file.rename("temporary-file.txt")); + + QVERIFY(((QFile &)file).open(QIODevice::ReadOnly)); + QVERIFY(QIODevice::ReadOnly == file.openMode()); + QCOMPARE(file.readAll(), data); + + QVERIFY(((QFile &)file).open(QIODevice::WriteOnly)); + QVERIFY(QIODevice::WriteOnly == file.openMode()); + } +} + QTEST_MAIN(tst_QTemporaryFile) #include "tst_qtemporaryfile.moc" -- cgit v0.12 From d5238b2c7d0ac813505d3cba611843361b2f647c Mon Sep 17 00:00:00 2001 From: Anders Bakken Date: Mon, 29 Jun 2009 11:40:08 -0700 Subject: Remove superfluous call to SetBlittingFlags We already do this in QDirectFBWindowSurface::scroll Reviewed-by: TrustMe --- src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp index 5deca3c..71e1fde 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp @@ -252,7 +252,6 @@ void QDirectFBWindowSurface::setPermanentState(const QByteArray &state) static inline void scrollSurface(IDirectFBSurface *surface, const QRect &r, int dx, int dy) { - surface->SetBlittingFlags(surface, DSBLIT_NOFX); const DFBRectangle rect = { r.x(), r.y(), r.width(), r.height() }; surface->Blit(surface, surface, &rect, r.x() + dx, r.y() + dy); } -- cgit v0.12 From edd75cbae9db9aedb2e040c6bbe6cdadabf6dca5 Mon Sep 17 00:00:00 2001 From: Anders Bakken Date: Mon, 29 Jun 2009 15:26:09 -0700 Subject: Remove unused variables These variables are never used. Reviewed-by: TrustMe --- src/gui/widgets/qabstractspinbox_p.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/gui/widgets/qabstractspinbox_p.h b/src/gui/widgets/qabstractspinbox_p.h index 15f5d97..0d00e04 100644 --- a/src/gui/widgets/qabstractspinbox_p.h +++ b/src/gui/widgets/qabstractspinbox_p.h @@ -135,8 +135,6 @@ public: mutable QValidator::State cachedState; mutable QSize cachedSizeHint, cachedMinimumSizeHint; uint pendingEmit : 1; - uint spindownEnabled : 1; - uint spinupEnabled : 1; uint readOnly : 1; uint wrapping : 1; uint ignoreCursorPositionChanged : 1; -- cgit v0.12 From 6af19da2036e80612386d027e42cec3d7cf4de3b Mon Sep 17 00:00:00 2001 From: Derick Hawcroft Date: Tue, 30 Jun 2009 11:17:49 +1000 Subject: bug fix - case for QVariant::Bool in switch statement was missing Task-number: 215511 Reviewed-by: TrustMe --- src/sql/drivers/odbc/qsql_odbc.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/sql/drivers/odbc/qsql_odbc.cpp b/src/sql/drivers/odbc/qsql_odbc.cpp index e0aa9b5..2bedf7f 100644 --- a/src/sql/drivers/odbc/qsql_odbc.cpp +++ b/src/sql/drivers/odbc/qsql_odbc.cpp @@ -1439,6 +1439,7 @@ bool QODBCResult::exec() values[i] = QVariant(QDateTime(QDate(dt.year, dt.month, dt.day), QTime(dt.hour, dt.minute, dt.second, dt.fraction / 1000000))); break; } + case QVariant::Bool: case QVariant::Int: case QVariant::UInt: case QVariant::Double: -- cgit v0.12 From 79f63138b49584fc1ee297811b471294ebd83b6b Mon Sep 17 00:00:00 2001 From: Jason McDonald Date: Tue, 30 Jun 2009 13:13:21 +1000 Subject: Remove links to out-of-date class chart. Reviewed-by: Gareth Pethig --- doc/src/classes.qdoc | 3 --- doc/src/index.qdoc | 1 - 2 files changed, 4 deletions(-) diff --git a/doc/src/classes.qdoc b/doc/src/classes.qdoc index 69ca716..dddc96f 100644 --- a/doc/src/classes.qdoc +++ b/doc/src/classes.qdoc @@ -47,9 +47,6 @@ This is a list of all Qt classes excluding the \l{Qt 3 compatibility classes}. For a shorter list that only includes the most frequently used classes, see \l{Qt's Main Classes}. - \omit This is old and dingy now. - and the \l{http://doc.trolltech.com/extras/qt43-class-chart.pdf}{Qt 4.3 Class Chart (PDF)}. - \endomit \generatelist classes diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc index bcaa614..a7efd73 100644 --- a/doc/src/index.qdoc +++ b/doc/src/index.qdoc @@ -152,7 +152,6 @@
  • Qt for Embedded Platforms
  • All Overviews and HOWTOs
  • Qt Widget Gallery
  • -
  • Class Chart
  • Qt Global Declarations
  • -- cgit v0.12 From 9b532a999944c70c2e8f57d9156c1887867ad9f1 Mon Sep 17 00:00:00 2001 From: Marius Storm-Olsen Date: Mon, 29 Jun 2009 13:38:13 +0200 Subject: Support the -qtlibinfix parameter already on Unix/Mac The configuration option was not added to the Windows configure. Reviewed-by: hjk --- mkspecs/features/win32/windows.prf | 4 ++-- tools/configure/configureapp.cpp | 17 +++++++++++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/mkspecs/features/win32/windows.prf b/mkspecs/features/win32/windows.prf index f037c1a..cf81388 100644 --- a/mkspecs/features/win32/windows.prf +++ b/mkspecs/features/win32/windows.prf @@ -6,8 +6,8 @@ contains(TEMPLATE, ".*app"){ qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) { isEqual(entryLib, -lqtmain): { - CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}d - else: QMAKE_LIBS += $${entryLib} + CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d + else: QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX} } else { QMAKE_LIBS += $${entryLib} } diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index b9acdb1..9ee5eef 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -896,6 +896,11 @@ void Configure::parseCmdLine() if(i==argCount) break; qmakeDefines += "QT_NAMESPACE="+configCmdLine.at(i); + } else if( configCmdLine.at(i) == "-qtlibinfix" ) { + ++i; + if(i==argCount) + break; + dictionary[ "QT_LIBINFIX" ] = configCmdLine.at(i); } else if( configCmdLine.at(i) == "-D" ) { ++i; if (i==argCount) @@ -1424,8 +1429,8 @@ bool Configure::displayHelp() "[-no-mmx] [-3dnow] [-no-3dnow] [-sse] [-no-sse] [-sse2] [-no-sse2]\n" "[-no-iwmmxt] [-iwmmxt] [-direct3d] [-openssl] [-openssl-linked]\n" "[-no-openssl] [-no-dbus] [-dbus] [-dbus-linked] [-platform ]\n" - "[-qtnamespace ] [-no-phonon] [-phonon]\n" - "[-no-phonon-backend] [-phonon-backend]\n" + "[-qtnamespace ] [-qtlibinfix ] [-no-phonon]\n" + "[-phonon] [-no-phonon-backend] [-phonon-backend]\n" "[-no-webkit] [-webkit]\n" "[-no-scripttools] [-scripttools]\n" "[-graphicssystem raster|opengl]\n\n", 0, 7); @@ -1516,7 +1521,8 @@ bool Configure::displayHelp() desc( "", "See the README file for a list of supported operating systems and compilers.\n", false, ' '); #if !defined(EVAL) - desc( "-qtnamespace ", "Wraps all Qt library code in 'namespace name {...}\n"); + desc( "-qtnamespace ", "Wraps all Qt library code in 'namespace name {...}"); + desc( "-qtlibinfix ", "Renames all Qt* libs to Qt*\n"); desc( "-D ", "Add an explicit define to the preprocessor."); desc( "-I ", "Add an explicit include path."); desc( "-L ", "Add an explicit library path."); @@ -2551,7 +2557,10 @@ void Configure::generateCachefile() configStream << "DEFAULT_SIGNATURE=" << dictionary["CE_SIGNATURE"] << endl; if(!dictionary["QMAKE_RPATHDIR"].isEmpty()) - configStream<<"QMAKE_RPATHDIR += "< Date: Mon, 29 Jun 2009 14:44:14 +0200 Subject: New binary --- configure.exe | Bin 856064 -> 856064 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/configure.exe b/configure.exe index 9da5c60..df6a6ac 100644 Binary files a/configure.exe and b/configure.exe differ -- cgit v0.12 From 8e08d5b8fcceee9a3d156b1e18363f48e19ec79b Mon Sep 17 00:00:00 2001 From: Prasanth Ullattil Date: Tue, 30 Jun 2009 10:14:00 +0200 Subject: QWidget::adjustSize() sends a spontaneous event - Mac OS X Cocoa The windowDidResize notification now differentiates an internally triggered resize from a user triggered resize. Task-number: 256269 Reviewed-by: Norwegian Rock Cat --- src/gui/kernel/qcocoawindowdelegate_mac.mm | 7 ++++++- src/gui/kernel/qwidget_mac.mm | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/gui/kernel/qcocoawindowdelegate_mac.mm b/src/gui/kernel/qcocoawindowdelegate_mac.mm index 9b49efc..3905e21 100644 --- a/src/gui/kernel/qcocoawindowdelegate_mac.mm +++ b/src/gui/kernel/qcocoawindowdelegate_mac.mm @@ -132,7 +132,12 @@ static void cleanupCocoaWindowDelegate() qwidget->setAttribute(Qt::WA_PendingResizeEvent, true); } else { QResizeEvent qre(newSize, oldSize); - qt_sendSpontaneousEvent(qwidget, &qre); + if (qwidget->testAttribute(Qt::WA_PendingResizeEvent)) { + qwidget->setAttribute(Qt::WA_PendingResizeEvent, false); + QApplication::sendEvent(qwidget, &qre); + } else { + qt_sendSpontaneousEvent(qwidget, &qre); + } } } diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm index b9183de..1c71fbd 100644 --- a/src/gui/kernel/qwidget_mac.mm +++ b/src/gui/kernel/qwidget_mac.mm @@ -4069,6 +4069,8 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove) setGeometry_sys_helper(x, y, w, h, isMove); } #else + QSize olds = q->size(); + const bool isResize = (olds != QSize(w, h)); NSWindow *window = qt_mac_window_for(q); const QRect &fStrut = frameStrut(); const QRect frameRect(QPoint(x - fStrut.left(), y - fStrut.top()), @@ -4076,7 +4078,10 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove) fStrut.top() + fStrut.bottom() + h)); NSRect cocoaFrameRect = NSMakeRect(frameRect.x(), flipYCoordinate(frameRect.bottom() + 1), frameRect.width(), frameRect.height()); - + // The setFrame call will trigger a 'windowDidResize' notification for the corresponding + // NSWindow. The pending flag is set, so that the resize event can be send as non-spontaneous. + if (isResize) + q->setAttribute(Qt::WA_PendingResizeEvent); QPoint currTopLeft = data.crect.topLeft(); if (currTopLeft.x() == x && currTopLeft.y() == y && cocoaFrameRect.size.width != 0 -- cgit v0.12 From 815841491a378237349a5206ac841454629d2628 Mon Sep 17 00:00:00 2001 From: Marius Storm-Olsen Date: Tue, 30 Jun 2009 12:12:20 +0200 Subject: Compile qmake autotest --- tests/auto/qmake/testcompiler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/qmake/testcompiler.cpp b/tests/auto/qmake/testcompiler.cpp index 2f8dae8..38876d0 100644 --- a/tests/auto/qmake/testcompiler.cpp +++ b/tests/auto/qmake/testcompiler.cpp @@ -56,7 +56,7 @@ static QString targetName( BuildType buildMode, const QString& target, const QSt targetName.append(".exe"); break; case Dll: // dll - if (!version.empty()) + if (!version.isEmpty()) targetName.append(version.section(".", 0, 0)); targetName.append(".dll"); break; -- cgit v0.12 From 238a618b5482e0471f46ed71362492be9c4df4a6 Mon Sep 17 00:00:00 2001 From: Geir Vattekar Date: Tue, 30 Jun 2009 12:25:47 +0200 Subject: Doc: Fixed links that pointed to removed documentation. Information on issues with the icc compiler has been moved in the docs. Redirected links that still pointed to the old location. Task-number: 257039 Reviewed-by: Morten Engvoldsen --- doc/src/platform-notes.qdoc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/src/platform-notes.qdoc b/doc/src/platform-notes.qdoc index 23094e1..8fe8170 100644 --- a/doc/src/platform-notes.qdoc +++ b/doc/src/platform-notes.qdoc @@ -397,7 +397,7 @@ \row \o Apple Mac OS X (32-bit) \o gcc 4.0.1 \row \o Linux (32 and 64-bit) \o gcc 4.1, 4.2, 4.3 \row \o Microsoft Windows \o gcc 3.4.2 (MinGW) (32-bit), MSVC 2003, 2005 (32 and 64-bit), 2008, - \l{Known Issues in %VERSION%}{Intel icc (see note)} + \l{Intel C++ Compiler}{Intel icc (see note)} \endtable Any platform-compiler combinations not listed here should be considered unsupported. @@ -596,8 +596,9 @@ \section1 Intel C++ Compiler - \warning Please see the \l{Known Issues in %VERSION%} page for information - about an issue with this compiler. + Qt supports the Intel C++ compiler on both Windows and Linux. + However, there are a few issues on Linux (see the following + section). \section2 Intel C++ Compiler for Linux -- cgit v0.12