profile/ivi/qtbase.git
12 years agoQRegularExpression: configure support for PCRE
Giuseppe D'Angelo [Mon, 23 Jan 2012 22:31:13 +0000 (22:31 +0000)]
QRegularExpression: configure support for PCRE

Added PCRE config.tests, and logic and command line options
(-qt-pcre and -system-pcre) for configure and configure.exe.

Change-Id: I5da2658191198dbcf48c07d7c5de1be1b884a7a5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agofix grammar in error message
Oswald Buddenhagen [Mon, 23 Jan 2012 15:02:33 +0000 (16:02 +0100)]
fix grammar in error message

Change-Id: I3fe4e0fa6da1467a4572e7f1dec1be7294632e34
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agouse warnings instead of -w
Oswald Buddenhagen [Wed, 11 Jan 2012 18:12:27 +0000 (19:12 +0100)]
use warnings instead of -w

that way invocation via perl (c.f. syncqt.bat) does not need options.

Change-Id: I5d8e0d1f0ffe1b7cf280fe97d4f70968a3dbbb22
Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoAdd mkspecs for Blackberry Playbook NDK
Rafael Roquetto [Tue, 24 Jan 2012 17:05:07 +0000 (18:05 +0100)]
Add mkspecs for Blackberry Playbook NDK

mkspecs for QNX qcc, armv7le and x86 targets

Change-Id: Ie4b0ec46a8837ad63f5aea8429cfdd516531e09a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoQProcess/Win: use asynchronous I/O for reading stdout and stderr
Joerg Bornemann [Mon, 16 Jan 2012 11:02:47 +0000 (12:02 +0100)]
QProcess/Win: use asynchronous I/O for reading stdout and stderr

This saves us from using the 100 ms polling timer to read process output.

Task-number: QTBUG-23012
Change-Id: I3f9398d7a4d30826d2d89ac04bd2fd031500ff57
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoQProcess/Win: use named pipes for redirecting standard I/O
Joerg Bornemann [Thu, 8 Dec 2011 13:16:47 +0000 (14:16 +0100)]
QProcess/Win: use named pipes for redirecting standard I/O

Named pipes allow us to make use of overlapped I/O for
redirected stdin, stdout and stderr.

Change-Id: I50191b036bce696147139b200ddbc6c31c16112b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoFix a typo in tst_qtreewidget autotest.
Jędrzej Nowacki [Fri, 20 Jan 2012 14:51:26 +0000 (15:51 +0100)]
Fix a typo in tst_qtreewidget autotest.

Change-Id: I573467c3fdfc4b3d059b216258d39944ac546061
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoFix virtual keyboard on Harmattan not following window content orientation changes
Simon Hausmann [Thu, 26 Jan 2012 13:35:55 +0000 (14:35 +0100)]
Fix virtual keyboard on Harmattan not following window content orientation changes

Track the input item's window and notify the input method server when the content
orientation changes.

Change-Id: I401c4fd677ed2eebd8b85968d4a2b3692517e097
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
12 years agoMade it possible to run tst_qtjson test from shadow build directory.
Denis Dzyubenko [Thu, 26 Jan 2012 10:50:07 +0000 (11:50 +0100)]
Made it possible to run tst_qtjson test from shadow build directory.

Change-Id: I167737c91e01f055a2ce14db54dfcc6b74ad8c28
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoQStandardPaths: remove unused includes (leftovers from qdesktopservices)
David Faure [Wed, 25 Jan 2012 18:53:22 +0000 (19:53 +0100)]
QStandardPaths: remove unused includes (leftovers from qdesktopservices)

Change-Id: I6fe23ecd04adc7dd68573dd0d6d01888c0cf71b6
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
12 years agoQUrl: Implement a number of ## Qt5 TODOs (merging overloads)
David Faure [Wed, 25 Jan 2012 17:03:37 +0000 (18:03 +0100)]
QUrl: Implement a number of ## Qt5 TODOs (merging overloads)

Change-Id: I629c20f10e3667937d488ea30f93bf86f980ee1a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoConvert tst_qurl.cpp to UTF-8 (to make it editable in QtCreator)
David Faure [Tue, 24 Jan 2012 21:33:48 +0000 (22:33 +0100)]
Convert tst_qurl.cpp to UTF-8 (to make it editable in QtCreator)

Change-Id: I9baa445b11f65b28596e5b88746b72c5cf04fe77
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoSend text selection changes for accessibility.
Frederik Gladhorn [Fri, 20 Jan 2012 17:12:13 +0000 (18:12 +0100)]
Send text selection changes for accessibility.

Change-Id: I3c50510ae9f995101d6e2c977c5138713389d71e
(cherry picked from commit 2cf1f24f93fa0f3f5bd7d38e160160a2c91d87f5)
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
12 years agoFixed QString::operator<(QLatin1String)
Denis Dzyubenko [Thu, 26 Jan 2012 10:13:41 +0000 (11:13 +0100)]
Fixed QString::operator<(QLatin1String)

QLatin1String now has a constructor that takes explicit length, which makes it
possible to create QLatin1String that do not have null-termination character.
Fixed QString::operator> and < to be safe in that case.

In the same patch fixed qtjson which had operator< implemented in the same way.

QString::compare(QLatin1String) is still broken and will be fixed separately.

Change-Id: I48ec1183a6f44034129cc17312af854795085408
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoRemove the 'macosx' arch
Bradley T. Hughes [Wed, 25 Jan 2012 15:12:53 +0000 (16:12 +0100)]
Remove the 'macosx' arch

The new atomic implementation chooses which header to include based
on what #define's are set by the compiler (i.e. __x86_64__ or
__i386__). Because of this, the qatomic_macosx.h header isn't used
anymore. This also means that the configure script does not need to
use or look for this file anymore, it should just use the normal
uname -m detection.

Change-Id: Ibf275488735483268286196952299c0e496dfd1f
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoMark the single argument containers as movable.
Stephen Kelly [Tue, 24 Jan 2012 22:27:34 +0000 (23:27 +0100)]
Mark the single argument containers as movable.

Change-Id: I1557b9f3c2d3ad805e1ab7bf4d49973f08664a79
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
12 years agoAutomated metatype definition for template types.
Stephen Kelly [Sat, 31 Dec 2011 06:25:07 +0000 (07:25 +0100)]
Automated metatype definition for template types.

If T is defined as a metatype, then QList<T> is too automatically.

So for example, no need to use

  Q_DECLARE_METATYPE(QList<int>)

anymore.

This is a source compatible change.

Change-Id: I2ee8a7b9e28fe6d4775f6a05cce39aca8563e0c5
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
12 years agoCleanup of QWindowsVistaStyle.
Friedemann Kleint [Wed, 25 Jan 2012 15:47:41 +0000 (16:47 +0100)]
Cleanup of QWindowsVistaStyle.

- Remove the limbowidget, try to obtain HWND from a toplevel or
  the desktop instead.
- Clean up handling of the theme map, avoid operator[] and
  repeated invocation of of map.end()

Change-Id: Ic5ea6186508f37aaff782ca304ce577899f7b41c
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
12 years agoMade QWindow::currentOrientation() a property.
Samuel Rødal [Wed, 25 Jan 2012 12:41:43 +0000 (13:41 +0100)]
Made QWindow::currentOrientation() a property.

To match the previous QWindow::orientation() property which can be
useful to access from QML. Also, removed the automatic translation of
Qt::PrimaryOrientation to QScreen::primaryOrientation() on the QWindow
level, as it leads to a lot of complexity regarding the
QWindow::contentOrientationChanged() signal, and makes it hard to
distinguish between the case where the window's orientation follows
that of the screen, and the case where the orientation just happens to
be set to that of the screen.

Change-Id: I6950d1337b7f929815eff1328181855090d8066b
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoWrap unimplemented clang feature in __has_feature
Olivier Goffart [Tue, 24 Jan 2012 17:51:51 +0000 (18:51 +0100)]
Wrap unimplemented clang feature in __has_feature

So that when they are actually implemented in future version, the proper
defines get defined.

Change-Id: I5cc3e3ef64b06facc27e6d697700dcb7a96300d5
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
12 years agoFix a couple of edge cases for WildcardUnix matching
Andy Shaw [Thu, 19 Jan 2012 16:32:41 +0000 (17:32 +0100)]
Fix a couple of edge cases for WildcardUnix matching

Fix a couple of cases where WildcardUnix was not matching when the
string was just [] or ended with a \.

The testWildcardEscaping() test has been extended to account for these
two cases too.

Integrate 7ce3726aea4be2dfdb57966a4482f66fec6f8f57 from 4.8

Task-number: QTBUG-20897
Change-Id: I7a07ac008473fa7a080db752e189f6404842603f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoRemove QTextControl and QLineControl.
Andrew den Exter [Mon, 23 Jan 2012 06:34:33 +0000 (16:34 +1000)]
Remove QTextControl and QLineControl.

QtWidgets and QtDeclarative now both have their own versions of these
so there's no need to keep them around any longer.

Change-Id: I9c2201c8495a0a0816e2af16c8f647fcad991479
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoCleanup mess in public type ids.
Jędrzej Nowacki [Fri, 13 Jan 2012 09:41:02 +0000 (10:41 +0100)]
Cleanup mess in public type ids.

There is no reason to keep two separated core types sets. It
couldn't be fixed before Qt5 because of binary compatibility promise.

This patch merges QMetaType core types with ext core types.

This "simple" operation consists of:
- QDataStream version was incremented, because type ids are
saved in QVariant's data stream.
- QMetaType LastExtCoreType and FirstExtCoreType were replaced by
LastCoreType, FirstCoreType and new QMetaType::HighestInternalId.
- New tests checking QVariant data stream for Qt4 and for Qt5 versions
were added.

Change-Id: I02dd74d29317365c297a789a4eb7c9c5edc3b231
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
12 years agoFix building of configure.exe.
Friedemann Kleint [Wed, 25 Jan 2012 18:34:49 +0000 (19:34 +0100)]
Fix building of configure.exe.

Add missing files to profile.

Change-Id: I72ccbbbef3e036fc0cfe7a0a6df4c19d0474b798
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoQAbstractSocket / QSslSocket: add API to pause and resume
Peter Hartmann [Fri, 20 Jan 2012 12:55:15 +0000 (13:55 +0100)]
QAbstractSocket / QSslSocket: add API to pause and resume

pause and resume is currently only supported upon emitting the
QSslSocket::sslErrors() signal. The API was added in QAbstractSocket to
also support QAbstractSocket::proxyAuthenticationRequired() in the
future.

This is the first patch to support that feature on the socket level,
another patch will follow to support sslErrors() and
authenticationRequired() in QNetworkAccessManager / QNetworkReply.

Task-number: QTBUG-19032
Change-Id: Ide2918268590ab9a01454ab26cb7fdca3dc840ab
Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
12 years agoIntroduce QGuiApplicationPrivate::windowForWidget.
Friedemann Kleint [Wed, 25 Jan 2012 11:43:20 +0000 (12:43 +0100)]
Introduce QGuiApplicationPrivate::windowForWidget.

Change getHWNDForWidget() to take a const QWidget *.

Change-Id: I6b0d0bce70487304dfcd4e7a6a039fe8c7ca4aae
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoWindows Vista Style: Fix drawing of buttons in message boxes.
Friedemann Kleint [Wed, 25 Jan 2012 11:31:50 +0000 (12:31 +0100)]
Windows Vista Style: Fix drawing of buttons in message boxes.

Do not use the HDC of the backing store when drawing to an image
(as opposed to 4.8, where the HDC of the paint engine was used).
This causes 'ghost buttons' to appear in the dialog box at 0,0.

Change-Id: I301b66abf4447a65ee144f09655b68efaf18700d
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
12 years agoWidgets: Enable Windows styles on Windows.
Friedemann Kleint [Wed, 25 Jan 2012 11:26:37 +0000 (12:26 +0100)]
Widgets: Enable Windows styles on Windows.

Change-Id: I1f1a675ad52da2bfb8988d91012d725469d1cac9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoMark the enumerator QVariant::Type as obsolete.
Stephen Kelly [Wed, 25 Jan 2012 09:22:05 +0000 (10:22 +0100)]
Mark the enumerator QVariant::Type as obsolete.

In most cases, QMetaType::Type should be used (contains more
entries) and in APIs an int should be used to allow for
user-extended metatypes.

Change-Id: Iaa768f6d510686da36c61b8aaf5de3ac53a6f463
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agobearer: run the bearer engines in their own worker thread
Shane Kearns [Wed, 1 Jun 2011 15:35:43 +0000 (16:35 +0100)]
bearer: run the bearer engines in their own worker thread

The original architecture of the QtNetwork bearer support hosted the
engines in the application's main thread, but this causes some problems.
If the QNetworkConfigurationManager is constructed in a worker thread,
then it is populated asynchronously without any notification when it is
done (the app gets incomplete or missing results)
Fixing that by restoring the earlier behaviour of using blocking queued
connections to wait for the lists to be populated caused a regression,
as some applications deadlock because the main thread is waiting on the
worker thread at this time.

By introducing a dedicated worker thread for the bearer engines,
QNetworkConfigurationManager can be safely constructed in any thread
while using blocking queued connections internally.

Task-number: QTBUG-18795
Change-Id: Iaa1706d44b02b42057c100b0b399364175af2ddb
Reviewed-by: mread
(cherry picked from commit 5f879c55e531165cc2569b03c3796d0f33d0a0b7)
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Murray Read <ext-murray.2.read@nokia.com>
Reviewed-by: Alex <alex.blasche@nokia.com>
12 years agoDon't lose the fontDef when setting the size of a raw font.
Pierre Rossi [Tue, 24 Jan 2012 19:22:14 +0000 (20:22 +0100)]
Don't lose the fontDef when setting the size of a raw font.

QFontEngineFT::cloneWithSize, which is used among other things by
QRawFont::setPixelSize, should create a new font engine using the font
definition from the current font engine.

Change-Id: I9415422bbecc2bf7b7acf105c12c1c83a894526c
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
12 years agoMark QStringList as movable.
Stephen Kelly [Tue, 24 Jan 2012 22:28:11 +0000 (23:28 +0100)]
Mark QStringList as movable.

Change-Id: I27fb523c43ace195d04d729c800669246a1930d7
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoFixed fileiterator issue for WEC7.
Janne Anttila [Mon, 12 Sep 2011 12:00:01 +0000 (15:00 +0300)]
Fixed fileiterator issue for WEC7.

WEC7 does not support FIND_FIRST_EX_LARGE_FETCH with FindFirstFileEx,
but windowsVersion for WEC7 is still resolved as WV_WINDOWS7.

If the FIND_FIRST_EX_LARGE_FETCH flag is passed to FindFirstFileEx
in WEC7, the method does never find any files from given directory.
Changed FIND_FIRST_EX_LARGE_FETCH flag to apply only when Q_OS_WINCE
is not defined.

Task-number: QTBUG-22503
Change-Id: Ic38cf745cda7ee7b23da67dc390ac0e6d04158cd
Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
12 years agoRemove use of QT_MODULE from library
Gunnar Sletta [Mon, 9 Jan 2012 07:53:17 +0000 (08:53 +0100)]
Remove use of QT_MODULE from library

These defines were there to aid in the commercial
licensing scheme we used long ago, and are no longer needed.

Keep a QT_MODULE(x) define so other modules continue compiling.

Change-Id: I8fd76cd5270df8f14aee746b6cf32ebf7c23fec7
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agomoc: Use QMetaType::QVariant as the type for QVariant
Kent Hansen [Fri, 6 Jan 2012 12:43:40 +0000 (13:43 +0100)]
moc: Use QMetaType::QVariant as the type for QVariant

QMetaType::QVariant has existed as a proper type for almost two
years, but the qvariant_nameToType function was written in 2006.

Using QMetaType::QVariant means QVariant can be treated just like
any other type. We can get rid of those hacky checks for LastType,
and the remaining checks become more readable.

The fact that QMetaProperty::{type,userType}() returned LastType
(0xffffffff) for QVariants was never documented (LastType itself is
internal). But there are other Qt modules that assume so. I'll fix
the ones I know about (qtdeclarative, qtscript, activeqt).

Change-Id: I799b9079bb8bbb1fe76c132525440b30415cbac5
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoAdd Native Client port mkspecs.
Morten Johan Sorvig [Fri, 13 Jan 2012 06:33:11 +0000 (07:33 +0100)]
Add Native Client port mkspecs.

Support cross-compiling for x86 and x86_64 nacl.

Change-Id: I652702f9671b35963450c42dac5e27bedc698df0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agotst_qobject: Run as console application.
Friedemann Kleint [Tue, 24 Jan 2012 15:24:24 +0000 (16:24 +0100)]
tst_qobject: Run as console application.

Change-Id: If3049249cf8ceeb0985d158209e217455bfc3c47
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
12 years agoMake coordinates float based where it makes sense.
Lars Knoll [Thu, 11 Aug 2011 14:23:10 +0000 (16:23 +0200)]
Make coordinates float based where it makes sense.

Mouse and Hover events already use FP corrdinates. They
also make sense for tablet and drop events.

Task-number: QTBUG-20115
Change-Id: Iff35d1f468567bd5a37236853dbc7725a37d87f2
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoIncluded stdlib.h to allow malloc() usage
Rafael Roquetto [Tue, 24 Jan 2012 17:23:32 +0000 (18:23 +0100)]
Included stdlib.h to allow malloc() usage

Depending on indirect inclusion was a mistake and caused compilation to break
on the QNX (BlackBerry NDK 2) target.

Change-Id: I447aec68bfe02447639a096c0c2f928bd4381cd9
Reviewed-by: David Faure <david.faure@kdab.com>
12 years agoremove vestiges of text codec plugins
Mark Brand [Mon, 23 Jan 2012 22:12:46 +0000 (23:12 +0100)]
remove vestiges of text codec plugins

follow-up to 3a3356a85079d734dfa57205a00e1996afc033df

Change-Id: Iba84958cbcd105ec702568752090719cc108e101
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoRemove support for the MNG file format and the bundled libmng
aavit [Tue, 24 Jan 2012 15:05:02 +0000 (16:05 +0100)]
Remove support for the MNG file format and the bundled libmng

The MNG file format is generally abandoned, and libmng has been
unmaintained for several years.

The MNG plugin and bundled libmng has been moved to the
qtimageformats project on Gerrit.

Task-number: QTBUG-21869
Change-Id: I946432347014ffde2b72307a5f8b166ca5553602
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoAdd a changed() signal to QValidator.
Andrew den Exter [Wed, 18 Jan 2012 03:04:21 +0000 (13:04 +1000)]
Add a changed() signal to QValidator.

This provides a general notification of changes that may change the
validity of previously validated input.

Change-Id: I5ec6f127af60fdca68605fee903a08758bc01360
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoFix a compile error in qsql_sqlite2.cpp
Lars Knoll [Tue, 24 Jan 2012 21:24:34 +0000 (22:24 +0100)]
Fix a compile error in qsql_sqlite2.cpp

The compile error got introduced due to the
change in QMetaType requiring fully defined
types for pointers.

Change-Id: I6383ff5923fc1d5bd3c1161e2823e83f2a06a99e
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
12 years agoDocument where modelReset() is emitted
Simon A. Eugster [Tue, 24 Jan 2012 14:10:08 +0000 (15:10 +0100)]
Document where modelReset() is emitted

The resetModel() signal indicates that the model is reset. Previously
there was no note that the signal is emitted also when endResetModel()
is called.

Task-number: QTBUG-23755
Change-Id: I6c3c1ccef580e9c1112c3af79912cffca675e140
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
12 years agoQKeySequence: fix copy/paste error in autotest
David Faure [Tue, 24 Jan 2012 18:04:49 +0000 (19:04 +0100)]
QKeySequence: fix copy/paste error in autotest

Change-Id: If03a99c9aa7210d3f166c2674831c645f67b1794
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoRemove Q_COMPILER_FINAL
Olivier Goffart [Tue, 24 Jan 2012 17:36:51 +0000 (18:36 +0100)]
Remove Q_COMPILER_FINAL

Merge it with Q_COMPILER_EXPLICIT_OVERRIDES

No compiler will implement one and not the other,
"overrideS" is a shortcut for the two features

It was even wrongly not defined with clang

Change-Id: I22dcffe6f0c96285c2b409a5ae9ce2f6f1652094
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoAdd autotest for failing signal connection.
Friedemann Kleint [Mon, 16 Jan 2012 09:39:04 +0000 (10:39 +0100)]
Add autotest for failing signal connection.

Change-Id: Iaae93253fa6d1ca0798d05d69a7ab6d6ff8b60bc
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoRe-enable 'make check' for tests/auto/widgets
Bradley T. Hughes [Wed, 18 Jan 2012 08:05:46 +0000 (09:05 +0100)]
Re-enable 'make check' for tests/auto/widgets

We want the autotests for the QtWidgets library to be run on Mac OS X as
well.

Change-Id: Ie731b802b64222c84116e2df82f536acf4971565
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
12 years agoDeprecate QAbstractItemModel::reset().
Stephen Kelly [Tue, 24 Jan 2012 15:48:22 +0000 (16:48 +0100)]
Deprecate QAbstractItemModel::reset().

It is broken in most uses because it emits modelAboutToBeReset()
after actually resetting the internal data instead of before.

That is, usually it is used like this:

myData.clear();
reset();

Which should be

beginResetModel();
myData.clear();
endResetModel();

Change-Id: I7b00a1e40c4915930944340764074efc29faaf5a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoadd missing move* methods to QAbstractItemModel
Mark Brand [Sun, 10 Apr 2011 19:48:36 +0000 (21:48 +0200)]
add missing move* methods to QAbstractItemModel

The existence of QAbstractItemModel virtual methods
    moveRow, moveColumn, moveRows, and moveColumns
is implied by the existence of
   beginMoveRows, endMoveRows, beginMoveColumns and endMoveColumns.
However, these were not actually provided by QAbstractItemModel.

With this change, subclasses can implement support for moving rows
and columns following the same pattern as for insert* and remove*.

Change-Id: Iad8b2223d4b9303abb6459c174a82ffed71a0fdf
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
12 years agoMove glyphMargin() to QFontEngine
Jiang Jiang [Mon, 23 Jan 2012 14:06:41 +0000 (15:06 +0100)]
Move glyphMargin() to QFontEngine

glyphMargin() support for QTextureGlyphCache is implemented in
respective font engines, thus this function is platform dependent.
Before Qt 5 the code is guarded in macros like #ifdef Q_WS_MAC,
now we should move them into QFontEngine and its subclasses.

So far only Windows font engines support it. FreeType and Core Text
based font engines all ignore it.

Change-Id: Ia14016533d8fbfaacf848a7d3bc928f8197318f5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agoMake mid() and midRef() properly return empty, non-null objects
Giuseppe D'Angelo [Mon, 23 Jan 2012 12:02:36 +0000 (12:02 +0000)]
Make mid() and midRef() properly return empty, non-null objects

If we request a substring starting at the very end of the string,
QString::mid should return an empty string, not a null string.
For instance, QString("abc").mid(3, 0) used to return a null
one, while this patch makes it return an empty one. The
same thing applies to QString::midRef() and QByteArray::mid().

Change-Id: Ie9efd7a0622d429efd0fb682c19856c19e9469af
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoMade window orientation API more flexible.
Samuel Rødal [Fri, 13 Jan 2012 09:31:11 +0000 (10:31 +0100)]
Made window orientation API more flexible.

Previously we only had QWindow::setOrientation() which was a hint about
the orientation the window's contents were rendered in.

However, it's necessary to separate between the orientation
corresponding to the window buffer layout and orientation of the
contents. A game for example might typically want to use a landscape
buffer even on a portrait device. Thus, we replace
QWindow::orientation() with QWindow::reportContentOrientationChange() and
QWindow::requestWindowOrientation().

Change-Id: I1f07362192daf36c45519cb05b43ac352f1945b5
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoQMessageBox: Clean up some Q_WS_WIN code.
Friedemann Kleint [Fri, 20 Jan 2012 16:33:23 +0000 (17:33 +0100)]
QMessageBox: Clean up some Q_WS_WIN code.

Enable 'Close' of system menu according to whether escape
button is present.

Change-Id: I305e4732f781dbe2d81c2503ee278ec33579acdb
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
12 years agoImport json support from playground/qtbinaryjson
Lars Knoll [Wed, 18 Jan 2012 09:12:50 +0000 (10:12 +0100)]
Import json support from playground/qtbinaryjson

This imports the JSON support for Qt 5 from
playground/qtbinaryjson.

It adds a fast, fully compliant json parser, a
convenient C++ API, conversion to and from
QVariants and a binary format for JSON that is
extremely fast to use together with the C++ API.

Change-Id: If9e3a21a4241d388d0abaa446b6824f9cc6edb1c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoStore the is-a QObject fact with the metatype declaration.
Stephen Kelly [Fri, 30 Dec 2011 11:00:09 +0000 (12:00 +0100)]
Store the is-a QObject fact with the metatype declaration.

This is a source incompatible change for Q_DECLARE_METATYPE(T*),
which now requires T to be fully defined.

The consequences of this are:
 * Forward declared types can no longer be declared as a metatype.
     (though this is a very uncommon thing to do).

There is a trivial workaround where necessary.

Change-Id: Id74c40088b8c0b466fcd7c55abd616f69acc82c8
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoQKeySequence: add tests, fix handling of '+' as key or separator.
David Faure [Thu, 19 Jan 2012 11:40:52 +0000 (12:40 +0100)]
QKeySequence: add tests, fix handling of '+' as key or separator.

Change-Id: I3c471dff9b46025aab762d36bb3a3adc64ced561
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoMake QUrl always lowercase the scheme().
David Faure [Tue, 24 Jan 2012 13:51:51 +0000 (14:51 +0100)]
Make QUrl always lowercase the scheme().

URL schemes can only contain alphanumeric characters and all
protocols specify that they are case-insensitive. So instead
of doing case-insensitive comparison everywhere and then get
it wrong sometimes, better to lower-case it here.

Change-Id: I61f51a3f4c85b90af1586ebcf69608987fbe2ec3
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoRemove dependencies on removed "TEXTSTREAM" option (f65a10b733)
David Faure [Mon, 23 Jan 2012 10:04:24 +0000 (11:04 +0100)]
Remove dependencies on removed "TEXTSTREAM" option (f65a10b733)

Change-Id: If7d6ca7af8eb305bd127776a35223d50c1fb4f04
Reviewed-by: Tasuku Suzuki <tasuku.suzuki@nokia.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
12 years agouse QWinOverlappedIoNotifier in QWindowsPipeReader
Joerg Bornemann [Mon, 16 Jan 2012 11:26:40 +0000 (12:26 +0100)]
use QWinOverlappedIoNotifier in QWindowsPipeReader

Change-Id: I71d5feaa07e8febd6c562be1dc6d7790e3a1606c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoQWinOverlappedIoNotifier introduced
Joerg Bornemann [Fri, 30 Dec 2011 14:20:32 +0000 (15:20 +0100)]
QWinOverlappedIoNotifier introduced

For asynchronous (overlapped) I/O notification on Windows one
can now use the convenience class QWinOverlappedIoNotifier.
It's using one global I/O completion port and a watching thread to
get notified when a read or write operation completes.

Change-Id: If6f904b364be0405580c7e50355529ab136ae3cb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
12 years agoChanged qnetworkdiskcache unittest to cleanup test directory.
Kurt Korbatits [Mon, 23 Jan 2012 01:58:00 +0000 (11:58 +1000)]
Changed qnetworkdiskcache unittest to cleanup test directory.

- Remove foo directory tree after run.

Change-Id: I2d554b4c64fc7162c7717c840534cf77f5e744d0
Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoChanged qtextdocument, qtextdocumentlayout unittests to cleanup tmp files.
Kurt Korbatits [Mon, 23 Jan 2012 01:44:49 +0000 (11:44 +1000)]
Changed qtextdocument, qtextdocumentlayout unittests to cleanup tmp files.

- qtextdocument unittest to remove foo.png after test.
- qtextdocumentlayout unittest to remove expected.png and img.png after test.

Change-Id: I42971e9128d399cadc87b9fd345c868065f180a9
Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
12 years agoChanged painting unittests to remove created files after run.
Kurt Korbatits [Mon, 23 Jan 2012 00:53:15 +0000 (10:53 +1000)]
Changed painting unittests to remove created files after run.

- qpainter cleans up temp files dest.png, expected.png and foo.png
- qpainterpath clean up temp file data
- qprinter cleans up silly, out1.ps, out2.ps, test.pdf and file.pdf

Change-Id: Id434bea0bae5b970355206a250456e4beeca8060
Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
12 years agoChanged qpixmap unittest to remove created file after run.
Kurt Korbatits [Mon, 23 Jan 2012 00:45:21 +0000 (10:45 +1000)]
Changed qpixmap unittest to remove created file after run.

- Removes temp_image.png after test run.

Change-Id: I0b233609c2bbf57151cf173181a40738d934f0ec
Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoChanged qxmlstream unittest to remove its created file after run.
Kurt Korbatits [Mon, 23 Jan 2012 00:06:38 +0000 (10:06 +1000)]
Changed qxmlstream unittest to remove its created file after run.

- Removes test.xml after test completed.

Change-Id: I548e2d644cca8ae0d30c3002df45cf57433170af
Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoChanged qdatastream unittest to remove the test file it creates.
Kurt Korbatits [Sun, 22 Jan 2012 23:59:35 +0000 (09:59 +1000)]
Changed qdatastream unittest to remove the test file it creates.

- Remove datastream.tmp file after test completed.

Change-Id: I844600f0a477397d129fd01ac755183c2d874da4
Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoAllocate mipmaps in FBOs with glTexImage2D, not glGenerateMipmap.
Kim Motoyoshi Kalland [Fri, 20 Jan 2012 12:40:33 +0000 (13:40 +0100)]
Allocate mipmaps in FBOs with glTexImage2D, not glGenerateMipmap.

Change-Id: I7b7d26da97f82f354d81913eccab46d79ec9e8f0
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agomkspecs: Remove qtopia*.prf from the mkspecs
Holger Hans Peter Freyther [Tue, 15 Nov 2011 18:59:01 +0000 (19:59 +0100)]
mkspecs: Remove qtopia*.prf from the mkspecs

Qtopia was killed some time ago and these files do not have a direct
use. Qt was embedded into the Qtopia sourcetree and it would be in the
hands of the Qt Extended fork to move to Qt5 and update the buildsystem.

It is unlikely that a Qt5 qmake will be used to build the Qt extended fork
as a copy of Qt is embedded in the source tree.

Change-Id: I2ef309c381aaf1d265ef385e85fd5c72d6205765
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoFixed automatic plugin path resolving for predefined Qt plugins.
Janne Anttila [Mon, 19 Sep 2011 17:10:14 +0000 (19:10 +0200)]
Fixed automatic plugin path resolving for predefined Qt plugins.

When Qt is configured for static build, importing static plugins is
supposed to work as described in docs:
http://doc.qt.nokia.com/latest/qtplugin.html#Q_IMPORT_PLUGIN

This commit updates the qmake mapping for predefined Qt plugins, so
that Qt plugins are automatically found when QTPLUGIN keyword is used.

Task-number: QTBUG-18609
Merge-request: 1391
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
(cherry picked from commit 0d0c1082f74888044713d96deca2d510951d018a)
Change-Id: I0d0c1082f74888044713d96deca2d510951d018a
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
12 years agoTest connecting to virtual function pointer
Olivier Goffart [Thu, 12 Jan 2012 20:53:56 +0000 (21:53 +0100)]
Test connecting to virtual function pointer

The C++ standard says that the comparison between pointer to virtual
function is unspecified (C++11 $5.10.2)
But we still may rely on it for the Qt::UniqueConnection and the
disconnection

So test if it works while using the same function.
Using function from different classes works for me, but we should
probably not assume it works. I left it commented in the test for
reference.

Change-Id: I1d9b91d4cc1a424d4f43ef2ee4981b8573f1e86f
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoMake it possible to compile with -no-opengl.
Andreas Holzammer [Mon, 23 Jan 2012 08:37:04 +0000 (09:37 +0100)]
Make it possible to compile with -no-opengl.

This takes out the dependency to the header files
of OpenGl. The ifdef QT_NO_OPENGL in the opengl headers
are needed, as qmake adds depends in the makefiles
for all GUI headers.

Task-number: QTBUG-23207

Change-Id: If31448ee35fd8c39194c7cb7d62273fbc6def883
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoRemove reference to Symbian in QtNetwork.
Xizhi Zhu [Mon, 23 Jan 2012 11:12:00 +0000 (12:12 +0100)]
Remove reference to Symbian in QtNetwork.

Change-Id: Iae377505e36ae1239be7ce52c773dc2a4f4a9767
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoRemove Symbian / S60 code from util.
Xizhi Zhu [Mon, 23 Jan 2012 11:05:01 +0000 (12:05 +0100)]
Remove Symbian / S60 code from util.

Change-Id: I00a151a5f23bb7258f78712cce569b324c92c7d7
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoRemove Symbian code from QtCore.
Xizhi Zhu [Sun, 22 Jan 2012 15:41:55 +0000 (16:41 +0100)]
Remove Symbian code from QtCore.

Change-Id: I9abdc674bcfa7bb38ce27c5213c5a672f59e63d5
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoRemove Symbian specific code from QtGui.
Xizhi Zhu [Sun, 22 Jan 2012 15:35:52 +0000 (16:35 +0100)]
Remove Symbian specific code from QtGui.

Change-Id: I103abb545d1a5deed7d40c0b50fc3eff0c89d622
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoRemove Symbian and Maemo code from uikit plugin.
Xizhi Zhu [Sun, 22 Jan 2012 15:35:27 +0000 (16:35 +0100)]
Remove Symbian and Maemo code from uikit plugin.

The code is only supposed to be used by iOS, so platform specific code
is removed.

Change-Id: Ibea585dfac9e6a7a87e66a1426793dfd8713fdef
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoRemove Qt 5 notes that would result in source incompatibility unnecessarily.
Robin Burchell [Fri, 20 Jan 2012 00:38:40 +0000 (02:38 +0200)]
Remove Qt 5 notes that would result in source incompatibility unnecessarily.

Change-Id: Ib221ab078f9ff5c385d35699ee1d093b0e95557c
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoAdd the capability to use multiple data sources for qhash benchmark.
Robin Burchell [Thu, 19 Jan 2012 23:54:43 +0000 (01:54 +0200)]
Add the capability to use multiple data sources for qhash benchmark.

More data sources to be added in followup commits.

Change-Id: I0393119b36ac5d88fc2c5c8d46b000d13d5ca996
Reviewed-by: Richard J. Moore <rich@kde.org>
12 years agoRemove executive summary.
Robin Burchell [Thu, 19 Jan 2012 23:28:46 +0000 (01:28 +0200)]
Remove executive summary.

It isn't necessarily that hashing the whole string is the main problem, as the
recently added java string benchmark appears to show, which means the original
purpose of this benchmark is rather voided.

This removal allows gradually repurposing the test towards providing general
benchmarks of QHash performance.

Change-Id: Iaab0a3b493387dcce99240632342235ed9c44d88
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
12 years agoMove test files around.
Robin Burchell [Thu, 19 Jan 2012 23:27:46 +0000 (01:27 +0200)]
Move test files around.

main.cpp is easier for my muscle memory to remember than qhash_string as it is
used by a number of other tests.

Change-Id: I044f995d55a4ff1328dde0ae27b6e36a80114c38
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
12 years agoAdd missing documentation to QTemporaryDir constructors
David Faure [Mon, 23 Jan 2012 14:29:49 +0000 (15:29 +0100)]
Add missing documentation to QTemporaryDir constructors

Change-Id: Ic7dea331695fa4653e4b963fef8383f44c3b1fb8
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
12 years agoMake QAbstractSocket's API virtual where needed.
Jonas M. Gastal [Thu, 19 Jan 2012 19:02:51 +0000 (17:02 -0200)]
Make QAbstractSocket's API virtual where needed.

The following methods have been made virtual:
setReadBufferSize()
socketDescriptor()
setSocketDescriptor()
socketOption()
setSocketOption()
waitForConnected()
waitForDisconnected()

Now that these methods are virtual we no longer need the nasty
polymorphism workarounds for QSslSocket.

Change-Id: I319989b6cdb025ba33d7d53ae90f3a6a3b6b1b7b
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoPort the IA-64 atomics to the new QBasicAtomicXXX architecture
Thiago Macieira [Sun, 31 Jul 2011 22:14:42 +0000 (19:14 -0300)]
Port the IA-64 atomics to the new QBasicAtomicXXX architecture

The IA-64 architecture supports the actual memory ordering semantics
in many instructions, but not all. We actually implement the functions
for all operations, so we get the best possible output.

It does support proper load-acquire and store-release semantics, but
we don't need instructions for it: the ABI requires that a volatile
load be acquire and a volatile store be release.

The Intel and HP compiler codepaths are rewritten, but untested.

Change-Id: I7aa62a4ec65f63a97d1bbd8418bb2492c2be465f
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoPort the MIPS atomics to the new QBasicAtomicXXX architecture
Thiago Macieira [Sun, 31 Jul 2011 22:09:20 +0000 (19:09 -0300)]
Port the MIPS atomics to the new QBasicAtomicXXX architecture

The LL/SC instructions are only present on MIPS II and up, so don't
pretend to support MIPS I. The previous implementation emitted the
instructions by telling the assembler to change instruction sets. Now,
the user must pass an -march= option to GCC telling it which
architecture or processor is being targetted.

On MIPS64, the 64-bit implementation allows supporting for long long
too.

Change-Id: I6dae6f8f61e563aba6a663227d91c5ddf554aa6a
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoPort the ARM atomics to the new QBasicAtomicXXX architecture
Thiago Macieira [Sun, 31 Jul 2011 21:57:16 +0000 (18:57 -0300)]
Port the ARM atomics to the new QBasicAtomicXXX architecture

The implementation is divided in two files, as it used to be in the
previous implementation: one for ARMv5, one for ARMv6 and up.

For the ARMv5 implementation:

    Drop the non-Linux EABI version of the atomics, as it's not
    ABI-compatible with the ARMv6 and ARMv7 implementations. This
    means this ARMv5 implementation only works on Linux. If other
    systems implement kernel helpers like Linux, they can be added
    too.

    We use the __kernel_cmpxchg located at 0xffff0fc0 to implement the
    operations, except for fetchAndStore, for which we use the SWP
    instruction.

    Also introduce the use of __kernel_dmb (at 0xffff0fa0) for the
    memory barrier. Now this code is SMP-safe even when built with
    ARMv5.

    The kernel cmpxchg helper was introduced in Linux 2.6.12, whereas
    the dmb helper was introduced in 2.6.15. That means 2.6.15 is the
    minimum version now.

For ARMv6 and up:

    Introduce byte, half-word and doubleword atomics that work on
    ARMv6K and up.

    For ARMv6 specifically, the memory barrier instruction (DMB) isn't
    present, so we need to accomplish the same with the MCR
    coprocessor instruction.

Change-Id: Ife7f9b920bcc7d1eef7611761f6c59ea940ec7df
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoMake clang compile the new i386 and x86_64 atomic code
Bradley T. Hughes [Wed, 18 Jan 2012 14:38:16 +0000 (15:38 +0100)]
Make clang compile the new i386 and x86_64 atomic code

The input type needs to match the output type, otherwise we get this
error:

src/corelib/arch/qatomic_x86_64.h:288:25: error: unsupported inline asm:
      input with type '<dependent type>' matching output with type 'T':
                   "0" (valueToAdd * QAtomicAdditiveType<T>::AddScale)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Change-Id: I26d4efdbcab089dea71ef08e3e65df5b7482865a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoPort the i386 and x86-64 atomics to the new QBasicAtomic architecture
Thiago Macieira [Sun, 31 Jul 2011 21:38:00 +0000 (18:38 -0300)]
Port the i386 and x86-64 atomics to the new QBasicAtomic architecture

Both implementations now are very similar to one another, to the point
we could share the code if we wanted to. They are based on assembly
code for the Relaxed functions only, as the i386 and x86-64
architectures only allow for full memory ordering or something that
closely resembles it (see 8.2 "Memory ordering" in the Intel 64 and
IA-32 Architectures Software Developer's Manual Volume 3A). We could
add "lfence/mfence/sfence" in future versions if we wanted to (SSE2+).

Change-Id: I76966d9f8694edfece2c5ebd3387348fac721447
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoPort the bootstrap atomics to the new QBasicAtomic architecture
Thiago Macieira [Sun, 31 Jul 2011 21:25:24 +0000 (18:25 -0300)]
Port the bootstrap atomics to the new QBasicAtomic architecture

The code is now much simpler and much more complete. Now the bootstrap
atomics (which aren't atomic at all) contain the full set of
operations.

The only integer supported is int, but all others would work too.

Change-Id: Id99f07818f9da059c4ff02520f9cbf2d1a71a514
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoRemove QEventLoop::DeferredDeletion
Bradley T. Hughes [Thu, 19 Jan 2012 10:53:09 +0000 (11:53 +0100)]
Remove QEventLoop::DeferredDeletion

This flag has been deprecated since Qt 4.4, so remove it.
tst_QApplication had 2 nearly identical tests, one for testing the
QEventLoop::DeferredDeletion flag, and one to test sendPostedEvents()
with QEvent::DeferredDelete. The latter is the preferred way, so keep
that test, but remove the test for the obsoleted flag.

Change-Id: Icdb7483c32b3c920bda31d2bbb4f7414ece6d826
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
12 years agoMove Clang mkspec for Mac OS X out of unsupported
Tor Arne Vestbø [Mon, 23 Jan 2012 12:17:23 +0000 (13:17 +0100)]
Move Clang mkspec for Mac OS X out of unsupported

The plan is to make it the default mkspec for Qt 5 on Mac OS X.

Change-Id: I49cf619a06fd7155dfbddc377558327b4be09cef
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
12 years agoSet macosx-version-min in common Mac OS X mkspec instead of configure
Tor Arne Vestbø [Mon, 23 Jan 2012 11:54:38 +0000 (12:54 +0100)]
Set macosx-version-min in common Mac OS X mkspec instead of configure

When set in configure it would be written to .qmake.cache and would only
apply when building Qt. We then had an override (that was also out of
sync, version-wise) in the g++ mkspec, which would also apply to apps
building agains Qt. This override did howerver not apply when using
the Clang mkspec.

We now move setting macosx-version-min to the common macx mkspec, shared
by both g++ and Clang, which will apply both when building Qt and when
building something against Qt. The latter since an application built
against Qt will not deploy on versions of Mac OS earlier than 10.6
anyways, so we might as well always set the minimum-version.

The modifications to the mkspecs will result in macosx-version-min
being passed twice when compiling qmake, as configure writes its own
makefiles and the mkspec parsing in configure has a bug where it will
lazily evaluate qmake-variables instead of evaluating them inline. This
is not a problem, and can be fixed in a later patch if seen fit.

Change-Id: Ib29503ad00a9dc00e0a50b0dbd9459e89a20dfbd
Reviewed-by: Zeno Albisser <zeno.albisser@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
12 years agoIgnore known tst_QStyleSheetStyle failures on Mac OS X
Bradley T. Hughes [Tue, 17 Jan 2012 13:36:07 +0000 (14:36 +0100)]
Ignore known tst_QStyleSheetStyle failures on Mac OS X

Task-number: QTBUG-23686
Change-Id: I566f3b3491576325389862bac2ad7c8526dd930b
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
12 years agoIgnore tst_QStyleSheetStyle::hoverColors() failures on Mac OS X
Bradley T. Hughes [Tue, 17 Jan 2012 13:33:20 +0000 (14:33 +0100)]
Ignore tst_QStyleSheetStyle::hoverColors() failures on Mac OS X

Qt::WA_UnderMouse is not working at the moment, causing this test to
fail.

Task-number: QTBUG-23685
Change-Id: If167311b09ba8fc3d04d056590588b595825c443
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
12 years agoIgnore tst_QSizeGrip failures on Mac OS X
Bradley T. Hughes [Tue, 17 Jan 2012 12:33:59 +0000 (13:33 +0100)]
Ignore tst_QSizeGrip failures on Mac OS X

This test currently fails on Mac, mark it as insignificant.

Task-number: QTBUG-23681
Change-Id: I7355cda953966778d651fafaff837f1083eeb3f4
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
12 years agoSkip tst_QMenu::QTBUG_10735_crashWithDialog() on Mac OS X
Bradley T. Hughes [Tue, 17 Jan 2012 11:51:46 +0000 (12:51 +0100)]
Skip tst_QMenu::QTBUG_10735_crashWithDialog() on Mac OS X

This test currently hangs, preventing the autotest from finishing.

Task-number: QTBUG-23677
Change-Id: I3c5f56c10735d65fb35de4e22a1e2e6414532309
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
12 years agoIgnore tst_QMenu::keyboardNavigaction() failure on Mac OS X
Bradley T. Hughes [Tue, 17 Jan 2012 13:28:12 +0000 (14:28 +0100)]
Ignore tst_QMenu::keyboardNavigaction() failure on Mac OS X

The shortcut0 test data fails, indicating that keyboard navigation via
shortcuts doesn't work on Mac OS X for the time being. Mark the failure
as expected.

Task-number: QTBUG-23684
Change-Id: I199222a87c09e6f491e5dcd21c9f65c28ecbb86d
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
12 years agoSkip tst_QPushButton::sizeHint() with Mac style on Mac OS X
Bradley T. Hughes [Tue, 17 Jan 2012 12:26:41 +0000 (13:26 +0100)]
Skip tst_QPushButton::sizeHint() with Mac style on Mac OS X

QStyleFactory cannot create the Mac style, so skip the test for now.

Task-number: QTBUG-23680
Change-Id: I2ae61aab152cd8a4e6a7270902df40dd3cc6df3b
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
12 years agoMark tst_QDateTimeEdit with insignificant_test on Mac OS X
Bradley T. Hughes [Tue, 17 Jan 2012 09:30:51 +0000 (10:30 +0100)]
Mark tst_QDateTimeEdit with insignificant_test on Mac OS X

This tests has numerous failures on Mac OS X, ignore the test for now.

Task-number: QTBUG-23674
Change-Id: I29bcfd379a6a13f9859e96c5cc6dc7e932feaf4a
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
12 years agoMark tst_QComboBox::hide() with QEXPECT_FAIL() on Mac OS X
Bradley T. Hughes [Tue, 17 Jan 2012 11:54:05 +0000 (12:54 +0100)]
Mark tst_QComboBox::hide() with QEXPECT_FAIL() on Mac OS X

Task-number: QTBUG-23678

Change-Id: I6ced2aa9392f2688ee982113addef7fffcf4b9f2
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>