profile/ivi/qtbase.git
12 years agoAdd detection of AVX and AVX2 support in the compiler.
Thiago Macieira [Fri, 30 Dec 2011 00:44:16 +0000 (22:44 -0200)]
Add detection of AVX and AVX2 support in the compiler.

Intel CC 12.1 supports AVX2 but only with -march=core-avx2. The -mavx2
option produces a warning.

GCC 4.6 does not recognise any option.

GCC 4.7 recognises both -mavx2 and -march=core-avx2 so let's use the
latter for now. We may need to change to -mavx2 when there's an AMD
processor that supports AVX2 too.

Change-Id: I529240e6e6c2c0e3942d357e0320212d954fe4de
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoRemove detection for MMX support and related technology
Thiago Macieira [Thu, 29 Dec 2011 21:24:54 +0000 (19:24 -0200)]
Remove detection for MMX support and related technology

This also removes the check for SSE, but the check for SSE2 and
further technologies is kept. If SSE2 is present, then SSE is too. We
don't have any code that uses the original SSE instructions only.

Remove the CMOV detection, since we don't use that anywhere and we're
not likely to ever use them..

Change-Id: I3faf2c555ad1c007c52a54644138902f716c1fe1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoFallback implementation of Q_ALIGNOF
João Abecasis [Mon, 12 Mar 2012 16:14:48 +0000 (17:14 +0100)]
Fallback implementation of Q_ALIGNOF

For all practical purposes, the fallback introduced here returns the
desired value. Having a fallback enables unconditional use of Q_ALIGNOF.

For compilers that provide native support for it, Q_ALIGNOF is otherwise
 #defined in qcompilerdetection.h.

Change-Id: Ie148ca8936cbbf8b80fe87771a14797c39a9d30c
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoAdd test cases to tst_QByteArray
Jędrzej Nowacki [Thu, 22 Mar 2012 08:44:17 +0000 (09:44 +0100)]
Add test cases to tst_QByteArray

Internally we construct QByteArrays from QStaticByteArrays. For example
moc is generating QStaticByteArray structure for every string it saves.
New test cases check if a QByteArray constructed from a QStaticByteArray
behaves as a not statically constructed one.

Change-Id: Ia4aa9a1a5bc0209507636c683a782dda00eae85c
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
12 years agoMerge "Merge master into api_changes" into refs/staging/api_changes
Kent Hansen [Fri, 23 Mar 2012 13:31:28 +0000 (14:31 +0100)]
Merge "Merge master into api_changes" into refs/staging/api_changes

12 years agoMerge master into api_changes
Kent Hansen [Fri, 23 Mar 2012 12:36:29 +0000 (13:36 +0100)]
Merge master into api_changes

Change-Id: I93551e4d13a1b0815b359b9415060e9089477db1

12 years agoRemove QWorkspace.
Debao Zhang [Wed, 21 Mar 2012 03:21:30 +0000 (20:21 -0700)]
Remove QWorkspace.

QWorkspace had been called Q3Workspace before Qt4.0 finally released.
In a sense, it is a Qt3 support Widget. And QWorkspace has been
deprecated and replaced by QMdiArea at Qt4.3.

Change-Id: Iea1bf831c9960c23c2b21d51fdc7c13b303642ea
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoCleanup Q3* items
Debao Zhang [Sun, 18 Mar 2012 04:37:17 +0000 (21:37 -0700)]
Cleanup Q3* items

Cleanup Q3* items from QtCore and QtGui modules.

Change-Id: Id214a077a50e99d820c84e96e34866492a0130d8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoMove the UTF-8 data into a separate .cpp so I can use later
Thiago Macieira [Mon, 5 Sep 2011 18:34:38 +0000 (20:34 +0200)]
Move the UTF-8 data into a separate .cpp so I can use later

This allows me to keep the UTF-8 invalid data in one safe place. I
won't need to copy & paste it.

Change-Id: Icb909d08b7f8d0e1ffbc28e01a0ba0c1fa9dccf0
Reviewed-by: David Faure <faure@kde.org>
12 years agotst_qsslsocket*: don't inherit from QSharedPointer
Marc Mutz [Tue, 6 Mar 2012 10:46:02 +0000 (11:46 +0100)]
tst_qsslsocket*: don't inherit from QSharedPointer

QSharedPointer is about to become final.

Instead of inheriting from it to add implicit
conversions to and from QSslSocket*, make
QSslSocketPtr a typedef, and make the
conversions explicit.

Change-Id: I4eebb262ab5aef348f4d676f9e839325d4ed13da
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agotst_qsharedpointer: don't inherit from QSharedPointer
Marc Mutz [Tue, 6 Mar 2012 07:33:32 +0000 (08:33 +0100)]
tst_qsharedpointer: don't inherit from QSharedPointer

QSharedPointer is about to be made final. Instead
of inheriting from it to gain access to the
d-pointer, cast it to a layout-compatible struct
and access the pointer from there.

Assert liberally to ensure layout compatibility.

Change-Id: Ifc0fa6a6608e861469286673844325663f4f7fcc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoQDirIterator: don't inherit from QDir
Marc Mutz [Mon, 5 Mar 2012 17:27:10 +0000 (18:27 +0100)]
QDirIterator: don't inherit from QDir

Remove the inheritance hack used in
QDirIterator to gain access to QDir's
d-pointer by simply making QDirIterator
a friend of QDir.

This allows to turn QDir into a final class.

Change-Id: I97efef8714bb194d62b9fe5192ce240a90f2bf97
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoQtDBus: don't inherit from QString, QVariant
Marc Mutz [Fri, 2 Mar 2012 12:40:22 +0000 (13:40 +0100)]
QtDBus: don't inherit from QString, QVariant

QString and QVariant are about to be marked
Q_DECL_FINAL_CLASS, so change inheritance to
composition.

At least this was private inheritance...

Change-Id: I43caaa6c03041b8f0bd0f7987ddb4c6ff8309e50
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agotst_qnetworkreply: don't inherit from QSharedPointer
Marc Mutz [Tue, 6 Mar 2012 07:52:11 +0000 (08:52 +0100)]
tst_qnetworkreply: don't inherit from QSharedPointer

QSharedPointer isn't meant to be used as a
base class.

Instead of inheriting from it to add implicit
conversions to and from QNetworkReply*, make
QNetworkReplyPtr a typedef, overload two
oft-used functions to take a QNetworkReplyPtr
in addition to QNetworkReply*, and otherwise
make the conversions explicit.

Change-Id: I1eff1793a19f2d5bad1cce8de74c0786675a50f3
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
12 years agoQLocalSocket: remove double buffer on qlocalsocket_unix
Martin Petersson [Thu, 22 Mar 2012 09:39:31 +0000 (10:39 +0100)]
QLocalSocket: remove double buffer on qlocalsocket_unix

The QLocalSocket is using a QLocalUnixSocket which is a QTcpSocket
that has buffering enabled. Because QLocalSocket is a QIODevice it
also has its own read buffer. By opening the QIODevice Unbuffered
we only use the buffer in the QLocalUnixSocket.

Change-Id: I4b9091522f73b0831b20efb4a2a00c2603fc748b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
12 years agoCheck if Qt::ImEnabled is true before handling im events on Mac
Tasuku Suzuki [Mon, 19 Mar 2012 02:04:26 +0000 (11:04 +0900)]
Check if Qt::ImEnabled is true before handling im events on Mac

Key events were not sent to items on graphics view after the change
412dbdf410c765e75c60d1f48143dd6c02a69493. This is because the change
only checks if QGuiApplication::focusObject() exists. Qt::ImEnabled
needs to be checked too.

Change-Id: I2a78af717a7a1a5d84fbc8b521253bdc25b43286
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
12 years agoCocoa: Add window fullscreen button on OS X Lion.
Morten Johan Sorvig [Wed, 21 Mar 2012 13:58:20 +0000 (14:58 +0100)]
Cocoa: Add window fullscreen button on OS X Lion.

Use the heuristic that windows that are not an
NSPanel and has the MaximizedButtonHint get the
fullscreen button.

Change-Id: I9a3520b7e4cd1833421d5d2f5b73da7edbfc3e74
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
12 years agoAdd QPA readme.
Morten Johan Sorvig [Thu, 22 Mar 2012 10:21:32 +0000 (11:21 +0100)]
Add QPA readme.

Change-Id: Ibc3a95f3560af909a45d147098184c2194187932
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
12 years agoRewrite QMap to use a RB tree
Lars Knoll [Mon, 19 Mar 2012 19:53:20 +0000 (20:53 +0100)]
Rewrite QMap to use a RB tree

QMap used to use a skiplist in Qt 4.x, which has variable
sized nodes and we can thus not optimise using custom
allocators.

The rewrite now uses a red-black tree, and all allocations
and tree operations happen in the cpp file. This will allow
us to introduce custom allocation schemes in later versions
of Qt.

Added some more tests and a benchmark. Memory consumption
of the new QMap implementation is pretty much the same as before.
Performance of insertion and lookup has increased by 10-30%. iteration
is slower, but still extremely fast and should not matter compared
to the work usually done when iterating.

Change-Id: I8796c0e4b207d01111e2ead7ae55afb464dd88f5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoconfigure: Fix x86_64 detection
Bradley T. Hughes [Fri, 23 Mar 2012 06:02:47 +0000 (07:02 +0100)]
configure: Fix x86_64 detection

The regular expression should look for underscores in addition to
alphanumeric characters.

Change-Id: Idc3dbd67291ec1420f818d74fba8413b1e7cbcf1
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
12 years agoFix udev building after commit 7a169fb52a2d57ec6b3b8e6196e5d4ce084e3eb0
Thiago Macieira [Mon, 5 Mar 2012 17:45:17 +0000 (09:45 -0800)]
Fix udev building after commit 7a169fb52a2d57ec6b3b8e6196e5d4ce084e3eb0

Change-Id: I13fcc6f58376657d54d3c0efd02f5ffba2a79cca
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
12 years agoDeprecate QInputMethodEvent::setTentativeCommitString()
Pekka Vuorela [Tue, 28 Feb 2012 12:23:36 +0000 (14:23 +0200)]
Deprecate QInputMethodEvent::setTentativeCommitString()

Free form tentative commit proved to require too much fiddling on
rendered text vs. logical content. Needs simpler mechanism.

Change-Id: Ia4e341abf342d25675fd1129efb11094dde410b2
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
12 years agoWhitespace fix for brace in qstring.cpp
Thiago Macieira [Thu, 22 Mar 2012 14:55:18 +0000 (11:55 -0300)]
Whitespace fix for brace in qstring.cpp

Change-Id: Ia6cf0d2babd931c9ac2a441a9cfec35f2297dddb
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
12 years agoQuick optimisations to QString: no const-ref for QLatin1XXX
Thiago Macieira [Mon, 17 Oct 2011 22:32:52 +0000 (00:32 +0200)]
Quick optimisations to QString: no const-ref for QLatin1XXX

Change-Id: I2c96adc6ae451f085024464791e53739b2d38bab
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
12 years agoUse the same ifdef-based debugging as the other engines.
Robin Burchell [Sat, 17 Mar 2012 22:47:22 +0000 (23:47 +0100)]
Use the same ifdef-based debugging as the other engines.

Just so I have a similar workflow all over the place.

Change-Id: I99df5042eac1b4fbf3613f339e8a4522f94ed1f5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoFixed QLineEdit to emit selectionChanged
Pekka Vuorela [Wed, 21 Mar 2012 14:23:33 +0000 (16:23 +0200)]
Fixed QLineEdit to emit selectionChanged

Was not emitted when removed by input method event.

Change-Id: Ia2c0dcb09d42826188d4612f4c1705a41874a31d
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoFix QPrinter test in Windows
Miikka Heikkinen [Wed, 21 Mar 2012 15:17:42 +0000 (17:17 +0200)]
Fix QPrinter test in Windows

Fixed Q_WS_WIN flagging to Q_OS_WIN in QPrinter API and related
implementation to make API match the documentation and Qt 4.8.
Also Removed the unused internal HDC related functions from the API,
that were previously behind Q_WS_WIN flag.

Some of the properties tested are documented to be valid for native
print engine only in X11 environment, so skipped testing those in
non-xcb environments.

Copy collation is also apparently not supported in Windows native print
engine, though this seems to be undocumented, so skipped that only in
Windows.

At least one of the test blocks in tst_QPrinter::valuePreservation()
failed due to default printer not getting set properly, so fixed that,
too.

Task-number: QTBUG-24191
Task-number: QTBUG-22927
Change-Id: I44a5e3d647a1279fcc7f1e99de6881f9be330246
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoDeprecate QApplication::setGraphicsSystem
Donald Carr [Tue, 20 Mar 2012 11:38:59 +0000 (11:38 +0000)]
Deprecate QApplication::setGraphicsSystem

The QApplication::setGraphicsSystem() call is entirely vestigial after the
QPA rearchitecting of Qt. Deprecate it to give people a heads up that their
original intent no longer has any impact on their application.

Change-Id: I21838431db1057f7f7858b4a434ae0eebd2317de
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoMake QLocalePrivate::updateSystemLocale() reset the locale data on Unix
Lars Knoll [Mon, 12 Mar 2012 11:40:03 +0000 (12:40 +0100)]
Make QLocalePrivate::updateSystemLocale() reset the locale data on Unix

Reread the environment, and update the locale data on request.

Also fix a small bug where the time format wasn't inherited from
the LANG environment variable if LC_TIME wasn't set.

Change-Id: I619447603ade19d5587b427491cfd9c8fe814858
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoMake QLocale not depend on being friends with the global static
Thiago Macieira [Wed, 31 Aug 2011 08:32:41 +0000 (10:32 +0200)]
Make QLocale not depend on being friends with the global static

Don't assume that the global static is a function. Instead, create a
class that is friends.

Change-Id: I992f4d819b367899b19d95b4983e6b243f0ed932
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoRemove the workaround for GCC 3.3 on IRIX
Thiago Macieira [Thu, 29 Dec 2011 14:41:44 +0000 (12:41 -0200)]
Remove the workaround for GCC 3.3 on IRIX

GCC 3.3 is no longer supported. IRIX is no longer supported.

Change-Id: I1656a6fdcf2b244f0f6c812e71b0e793d37fb98b
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
12 years agoMake architecture detection more robust.
Girish Ramakrishnan [Wed, 21 Mar 2012 04:01:20 +0000 (21:01 -0700)]
Make architecture detection more robust.

Any message/error in mkspecs or qmake feature files ends up confusing
the current arch detection logic. Instead, search for
"Project MESSAGE: .* Architecture: <arch>".

Change-Id: I308932a5b75f3a1fcbc4fe30c74faf2e83b2d752
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoFix compilation on ARM with C++11: narrowing conversion
Thiago Macieira [Thu, 29 Dec 2011 19:59:01 +0000 (17:59 -0200)]
Fix compilation on ARM with C++11: narrowing conversion

Cannot have double-to-float conversions inside { } in C++11.

Change-Id: I13c27307efd703420b6667d919bb42c2ee82e6cc
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoFix the build of qt-freetype with -system-zlib
Thiago Macieira [Fri, 6 Jan 2012 16:53:38 +0000 (14:53 -0200)]
Fix the build of qt-freetype with -system-zlib

The static library needs to link to zlib too, so that the plugins
using this library link to zlib.

At runtime this doesn't make a difference because -system-zlib means
QtCore is linked to zlib and the system zlib shared library was
loaded, so the symbols are resolved. However, since -Wl,-no-undefined
was added to the build, the plugin must link to zlib explicitly too.

Change-Id: I10d6df8814e823079fee76ae6a7d5b55057c9daf
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoFix the build of -qt-freetype
Thiago Macieira [Fri, 6 Jan 2012 16:55:55 +0000 (14:55 -0200)]
Fix the build of -qt-freetype

The symbol must be exported from QtGui for the plugins to be able to
see it.

Also, fix the build in namespaced case: cannot use extern in
QtPlatformSupport because it's not compiled into the Qt namespace.

Change-Id: I029533f3524e3cbf6c87aed79c1f2e7b55aebb9b
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoFix compilation: std::min is in <algorithm>
Thiago Macieira [Sun, 19 Feb 2012 09:02:11 +0000 (10:02 +0100)]
Fix compilation: std::min is in <algorithm>

Change-Id: I89227bb9fca0f081a232c2ede10c4d455edb2ee9
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoSave the pkg-config settings in config.status
Thiago Macieira [Tue, 30 Aug 2011 19:42:39 +0000 (21:42 +0200)]
Save the pkg-config settings in config.status

Change-Id: I6fc14eaf071ff56325bbcabb0ae8971fcf07b370
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoAdd a non-implicit virtual destructor for QDashStroker
Thiago Macieira [Thu, 29 Dec 2011 22:11:56 +0000 (20:11 -0200)]
Add a non-implicit virtual destructor for QDashStroker

The base class has a virtual destructor, so the destructor is already
virtual. Make it non-implicit so that the virtual table and other
virtual inline methods don't get emitted everywhere.

Change-Id: I15296c1114086ff0b1da701ccd51525bec99d76b
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoAdd qpair.h to the HEADERS list
Thiago Macieira [Fri, 10 Feb 2012 11:20:07 +0000 (12:20 +0100)]
Add qpair.h to the HEADERS list

Change-Id: I81d078a80b2fba201da9440e3550c2b73adaf668
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoRemove the false information that IA-64 supports SSE2
Thiago Macieira [Tue, 27 Dec 2011 19:38:27 +0000 (17:38 -0200)]
Remove the false information that IA-64 supports SSE2

This must have been a mistake. IA-64 processors used to contain an
IA-32 core, which supported SSE2. However, the IA-64 mode supported no
such thing.

Change-Id: I731c6018166af6b897cb697c68aad4ef3ae93132
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agosupport relative Sysroot specification in qt.conf
Oswald Buddenhagen [Tue, 20 Mar 2012 18:34:41 +0000 (19:34 +0100)]
support relative Sysroot specification in qt.conf

permits relocatable qmake installations in, say, $sysroot/hosttools/.
note that it makes patently no sense to have a relative Prefix when
using a relative Sysroot.

Change-Id: I36e5149acb20a885c3cd244bc9d67aa48b01a56f
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agomake unspecified/empty HostPrefix fall back to Prefix
Oswald Buddenhagen [Tue, 20 Mar 2012 17:55:28 +0000 (18:55 +0100)]
make unspecified/empty HostPrefix fall back to Prefix

this is needed for backwards-compatibility, and generally makes sense.

Task-number: QTBUG-24839
Change-Id: I42b008a9dfb43cc2ebe49c8baa2c29f5d6a75897
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoMore UTF8 fix of raster autotest
aavit [Wed, 21 Mar 2012 08:50:35 +0000 (09:50 +0100)]
More UTF8 fix of raster autotest

This completes 6c98fd2, for systems where default codec is not UTF8.

Change-Id: I94795785d5d172558c40c06bd3ef4ffaba1624c5
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
12 years agoFixed QScreen::name() return value on xcb.
Samuel Rødal [Thu, 22 Mar 2012 13:14:39 +0000 (14:14 +0100)]
Fixed QScreen::name() return value on xcb.

Previously the primary sceen number wasn't stripped before adding the
actual screen number, resulting in names such as ":0.0.0".

Change-Id: Ifbcf12dcf1c200fd6bc5e4b95a5d82483957e0d2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoFix assert in libdbus-1 from tst_qdbusmarshall.
David Faure [Wed, 21 Mar 2012 17:24:38 +0000 (18:24 +0100)]
Fix assert in libdbus-1 from tst_qdbusmarshall.

Serializing an empty object path was crashing with
> arguments to dbus_message_iter_append_basic() were incorrect,
> assertion "_dbus_check_is_valid_path (*string_p)" failed in file
> dbus-message.c line 2555.
Thiago says this depends on the libdbus build settings, which is why
it didn't happen to everyone. OpenSUSE-12.1 here.

Change-Id: I657d28d5d915706a22abfd273aad88d20e2d112a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoAdd configure bootstrap generated files to .gitignore
Shane Kearns [Thu, 22 Mar 2012 16:32:39 +0000 (16:32 +0000)]
Add configure bootstrap generated files to .gitignore

Change-Id: Ic538f46eabdf3de96d79c6e2f56627e47933bbab
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agoAllow autobound UDP sockets to send to IPv4 and IPv6
Shane Kearns [Thu, 15 Mar 2012 17:58:22 +0000 (17:58 +0000)]
Allow autobound UDP sockets to send to IPv4 and IPv6

When writeDatagram is called without first binding the UDP socket,
then bind it as QHostAddress::Any.
This allows the same socket to be used to sent to both IPv4 and
IPv6 destination addresses.

Allowing the OS to autobind the socket inside sendTo() may
result in a single protocol socket.

Task-number: QTBUG-5275
Change-Id: I2b76507e8a8a38369c6eafb61ce4191d1d6cc930
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
12 years agoMIPS DSP configure detection and initial blend optimizations.
Damir Tatalovic [Fri, 2 Mar 2012 16:43:52 +0000 (17:43 +0100)]
MIPS DSP configure detection and initial blend optimizations.

Adds new MIPS configure test and -no-mips_dsp and -no-mips_dspr2
configure options.

List of optimized implementations:

- comp_func_SourceOver
- comp_func_Source
- qt_memfill32
- qt_destFetchARGB32
- qt_destStoreARGB32
- blend [RGB32][RGB32]
- blend [ARGB32_Pre][RGB32]
- blend [RGB32][ARGB32_Pre]
- blend [ARGB32_Pre][ARGB32_Pre]

Change-Id: I35411858295b7b3f4895eb56e3b93397528903cc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoQStandardPaths: implement displayName() on all platforms.
David Faure [Thu, 15 Mar 2012 22:22:34 +0000 (23:22 +0100)]
QStandardPaths: implement displayName() on all platforms.

It was only implemented on Mac OSX until now (all this came from the
QDesktopServices code).

Change-Id: I7fd81d80ca77cf0ca6c213f59813a6163abe7dc5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoSignificantly speed up insertion into QJsonObject/Array
Lars Knoll [Tue, 20 Mar 2012 19:45:27 +0000 (20:45 +0100)]
Significantly speed up insertion into QJsonObject/Array

The code was only allocating memory for the next insertion
leading to a reallocation of the whole data for every
single insertion.

The code now reserves some space and uses a decent growth
strategy to avoid repeated reallocs.

Change-Id: I48b0feab71ba8ca73e7037f8460080f198b2f009
Reviewed-by: Jamey Hicks <jamey.hicks@nokia.com>
12 years agoRemove legacy font cache from 3rdparty
Donald Carr [Wed, 21 Mar 2012 14:10:01 +0000 (14:10 +0000)]
Remove legacy font cache from 3rdparty

Change-Id: I5a02251565c0c72e8762c0b41cdf5802c7df1938
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoFix cross-compilation that uses fontconfig / freetype
Thiago Macieira [Thu, 22 Sep 2011 11:18:11 +0000 (13:18 +0200)]
Fix cross-compilation that uses fontconfig / freetype

config.tests/unix/freetype.pri has a !cross_compile flag, so we must
find freetype using the proper detection methods. The detection was
inside an X11 section of configure, so move that out.

And use the results of that detection, now that QMAKE_CFLAGS_X11 isn't
used (since we're not building X11 in QtPlatformSupport).

Change-Id: Ic8f5cfb7263849bfb12967756def2b5aaa244872
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoFix the bsymbolic_functions test and improve the error reporting
Thiago Macieira [Tue, 3 Jan 2012 14:10:36 +0000 (12:10 -0200)]
Fix the bsymbolic_functions test and improve the error reporting

The bsymbolic_functions test was missing $SYSROOT_FLAG, so the linking
was always failing and the test falsely negative.

Also make the error reporting better: if the flag was requested, error
out if the check fails and report more information in -v mode.

Change-Id: Ie2615f8083e7e58d63d9ee9c23be937dc864b30d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoUpdate the Linux-ICC mkspec
Thiago Macieira [Mon, 26 Dec 2011 00:46:11 +0000 (22:46 -0200)]
Update the Linux-ICC mkspec

Include linux.conf instead of unix.conf, so it can compile Qt Base
these days (otherwise, we get an error from wayland-scanner.prf).

Remove the outdated information from the header. The mkspec now
matches ICC 12, not 10 and there are more diagnostics we disable.

Change-Id: Ic75593759a4d53f859a9a9e919d77b5c52d01024
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoMake tst_qmovie work in shadow builds
Thiago Macieira [Wed, 28 Dec 2011 18:47:34 +0000 (16:47 -0200)]
Make tst_qmovie work in shadow builds

Change-Id: I8fe4b5e98ce2fb1ac8420bf568f5c9c973165fbf
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoQPointer: some optimisations
Marc Mutz [Tue, 6 Mar 2012 11:11:25 +0000 (12:11 +0100)]
QPointer: some optimisations

Implement QPointer in terms of QPointerBase,
a non-template roughly the same as
QPointer<QObject>, to reduce the amount of
template code being generated.

Also mark QPointer as movable, fake an
isNull() for qdoc, and remove qpointer.h's
content from QT_NO_QOBJECT builds (some
indirect include hits the missing
QWeakPointer(QObject*) constructor when
bootstrapping; worked before b/c QPointer
is a template; QPointerBase isn't, though).

Change-Id: I657826601f570f954d80b84bb0334dd3a7452859
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoMake QNX virtual keyboard handling main event loop driven
Kevin Krammer [Thu, 22 Mar 2012 12:54:00 +0000 (13:54 +0100)]
Make QNX virtual keyboard handling main event loop driven

Refactor from polling in an endless loop running in a separate thread
to using a QSocketNotifier working on the main thread.

Similar to "de-threading" of the navigator event handling in
9dc86ac0f2d019f93665c1ae0e3c2cd33fd88bce

Change-Id: I994dceed07312a3846737c8bea34cffa4ab408f1
Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
12 years agoFix QSysInfo::WindowsVersion checking (QSysInfo::WV_NT_based is a mask)
Joerg Bornemann [Thu, 22 Mar 2012 14:00:56 +0000 (15:00 +0100)]
Fix QSysInfo::WindowsVersion checking (QSysInfo::WV_NT_based is a mask)

Manual merge of the original fix 1ef309e9 in the Qt 4.8 repo.

Task-number: QTBUG-20480
Change-Id: Id08500c2dd16965af3942e65cff1f4afa24180b0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoAdd x86_64 to CONFIG on Mac OSX only when not cross-compiling
Sean Harmer [Wed, 21 Mar 2012 11:22:28 +0000 (11:22 +0000)]
Add x86_64 to CONFIG on Mac OSX only when not cross-compiling

Change-Id: Idd066010334999376d8b2c9619d797e4eb1f1153
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
12 years agoSet absolute_library_soname on mac only when not cross-compiling
Sean Harmer [Mon, 12 Mar 2012 19:51:52 +0000 (19:51 +0000)]
Set absolute_library_soname on mac only when not cross-compiling

Change-Id: I24a2b70a515483d9d0990f66bff2b37df72faf17
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
12 years agoQSql*Model: add SQL syntax helper
Mark Brand [Wed, 14 Mar 2012 09:22:50 +0000 (10:22 +0100)]
QSql*Model: add SQL syntax helper

Change-Id: Ia53e30d7a2f2bb5b4f76c32fcf0fe526d1e4ab51
Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
12 years agoQSqlTM/QSqlRTM: improve style and readability
Mark Brand [Mon, 19 Mar 2012 08:21:55 +0000 (09:21 +0100)]
QSqlTM/QSqlRTM: improve style and readability

General changes:
const, scope, braces, hash[] for clarity, comment wording and
spelling.

QSqlRelationalTableModel::selectStatement() readability:

Renamed private method.

QVector<Class>.value() already defaults to null object value, so there
is no point in handling this case explicitly.

Alias rec for d->rec added more noise than clarity.

Using "tables" list only adds an extra step. Simple concatenation does
the trick.

Deduplicate code for building table expression and JOIN condition.

Change-Id: Ia52afaf3c3937a26595d5ae867982664002562d8
Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
12 years agoQSqlRTM: fix whitespace
Mark Brand [Mon, 19 Mar 2012 07:55:02 +0000 (08:55 +0100)]
QSqlRTM: fix whitespace

Change-Id: I0ed9ab93657d35a0e8c74469f72c77fe1fc4c7c1
Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
12 years agoFixed QInputMethod API to use isVisible() instead of visible().
Samuel Rødal [Mon, 19 Mar 2012 13:05:41 +0000 (14:05 +0100)]
Fixed QInputMethod API to use isVisible() instead of visible().

Deprecate the old API for now as not to break existing usages.

Change-Id: I7abbbbe8a34951282537a9d74cded03743f44df7
Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoFocusAboutToChange event to be send before focus changes
Pekka Vuorela [Thu, 1 Mar 2012 14:54:50 +0000 (16:54 +0200)]
FocusAboutToChange event to be send before focus changes

Focus change happen as: FocusAboutToChange event -> focus change
-> FocusOut event -> FocusIn event.

Input method need to have focus when calling commit(). Notification
on focus about to be lost allows QWindow implementations to commit in
time.

Also changes QWidget documentation to match code reality.

Change-Id: I17a8a374a33dd700909f79e370b42348869261a6
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoRemove obsolete methods which forward to the base class.
Stephen Kelly [Wed, 21 Mar 2012 19:47:23 +0000 (20:47 +0100)]
Remove obsolete methods which forward to the base class.

Change-Id: I7903d9664d52c6afeff800a95062c983a49703c6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
12 years agoRemove non-const version of QTreeWidget method.
Stephen Kelly [Wed, 21 Mar 2012 19:44:49 +0000 (20:44 +0100)]
Remove non-const version of QTreeWidget method.

The const version should be enough.

Change-Id: Ia9cfa484f070e318c76f03df8d8220217a7100c2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
12 years agoRemove obsolete internal functions.
Stephen Kelly [Wed, 21 Mar 2012 19:46:30 +0000 (20:46 +0100)]
Remove obsolete internal functions.

Change-Id: Ib0deecfe4bfc13504b98e6e1f3349f8c57b25314
Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
12 years agoCorrectly export GL graphics engine for use in plugins
Donald Carr [Fri, 16 Mar 2012 00:02:46 +0000 (00:02 +0000)]
Correctly export GL graphics engine for use in plugins

EGLFS and QNX both reference this symbol, hence it needs to be exported

Change-Id: I11b2b8ad5f2b81d951173f7cd8a7fbb8be4bb89b
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoMake comment() work in the C locale too.
David Faure [Wed, 21 Mar 2012 09:03:26 +0000 (10:03 +0100)]
Make comment() work in the C locale too.

The parser makes the default language en_US, and no mimetype xml says
<comment xml:lang="C">, so use the en_US string for the C locale,
rather than returning an empty string.

Change-Id: Iad7c142e8078abe357773249416e7ce9b3e29a92
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoReturn all expected paths in QStandardPaths::standardLocations
David Faure [Thu, 15 Mar 2012 11:05:58 +0000 (12:05 +0100)]
Return all expected paths in QStandardPaths::standardLocations

ApplicationsLocation and DataLocation were returning only the local path,
rather than system paths + local path.

Change-Id: I653d14e5bbe1e08c5fa1ecd5a6106336d1cd0369
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoDon't do anything if setting the same proxy factory.
Xizhi Zhu [Thu, 22 Mar 2012 10:25:51 +0000 (11:25 +0100)]
Don't do anything if setting the same proxy factory.

Otherwise, it crashes if you simply set the same proxy factory instance
twice.

Change-Id: I4b1f1d0eed7630c9a145c0a330c6be1b3fc381e5
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
12 years agoCocoa: fix setting color with alpha channel value for color dialog
Teemu Katajisto [Thu, 22 Mar 2012 11:27:21 +0000 (13:27 +0200)]
Cocoa: fix setting color with alpha channel value for color dialog

Make sure that if ShowAlphaChannel option is set then also setShowsAlpha
needs to be set for the panel before setting the current color, otherwise
alpha channel value is omitted.

Task-number: QTBUG-24320

Change-Id: Ifb3822711af8ffd0cf6cb4c8aab2b0020d296663
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
12 years agoUpdate QtXmlPatterns module name in documentation
Honglei Zhang [Wed, 21 Mar 2012 11:35:00 +0000 (13:35 +0200)]
Update QtXmlPatterns module name in documentation

According to new module name convention, QtXmlPatterns is
replaced with Qt XML Patterns in all documentation.

Task-number: QTBUG-24775

Change-Id: I9ca85728e266bd1ca9fa7a14e5e68c43c8d3e826
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoNeed to check new rotation against initial rotation instead of current
Kevin Krammer [Wed, 21 Mar 2012 12:01:55 +0000 (13:01 +0100)]
Need to check new rotation against initial rotation instead of current

Only swap width/height of initial geometry if orthogonal to initial
rotation not orthogonal to current rotation

Change-Id: I825954e98dee6c0d07a284307dfb8e1f9fd538e6
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
12 years agoReserve more space for built-in types in id space.
Jędrzej Nowacki [Wed, 14 Mar 2012 14:15:17 +0000 (15:15 +0100)]
Reserve more space for built-in types in id space.

We are running out of type ids for built-in types, 255 is not enough.
QMetaType already contains about ~70 types, situation is maybe not
tragic now, but there is a great chance that we will want to add more
built-in types from different modules like jsondb or declarative. Then
it might be tight, because we are not allowed to reorganize type ids
(it would be a binary incompatible change).

This change was not possible up to now. Old moc generated code assumes
that type id can be safely stored in 8 bits.

This is source compatible change.

Change-Id: Iec600adf6b6196a9f3f06ca6d865911084390cc2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoGot rid of Map / Unmap events in favor of Expose event.
Samuel Rødal [Wed, 14 Mar 2012 16:55:43 +0000 (17:55 +0100)]
Got rid of Map / Unmap events in favor of Expose event.

Since change 2e4d8f67a871f2033 the need for Map and Unmap events has
gone away, as now the Expose event is used to notify the application
about when it can start rendering.

The Map and Unmap events weren't really used except by QWidget to set
the WA_Mapped flag, which we now set based on the expose / unexpose.

Also guarantee that a Resize event is always sent before the first
Expose, by re-introducing an asynchronous expose event handler. Since
an expose is required before rendering to a QWindow, show a warning if
QOpenGLContext::swapBuffers() or QBackingStore::flush() if called on a
window that has not received its first expose.

Change-Id: Ia6b609aa275d5b463b5011a96f2fd9bbe52e9bc4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoList QtPrintSupport as a dependency of QtPlatformSupport.
Stephen Kelly [Tue, 20 Mar 2012 17:54:08 +0000 (18:54 +0100)]
List QtPrintSupport as a dependency of QtPlatformSupport.

As it is a static library, it is also necessary to link to
QtPrintSupport when using QtPlatformSupport.

Change-Id: Id7ed458e5a7a0f6199d76b12f979faabb51d0f87
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoShow correct origin of Q_ASSERT in Windows dialog
Kai Koehne [Wed, 21 Mar 2012 09:15:01 +0000 (10:15 +0100)]
Show correct origin of Q_ASSERT in Windows dialog

Display the actual file and line where the Q_ASSERT statement
was triggered.

Change-Id: I54d72f4c4bd9edee744c0f6e08f31b8e3120f454
Reviewed-by: David Faure <faure@kde.org>
12 years agoRemove redundant \since 5.0
Debao Zhang [Thu, 22 Mar 2012 04:57:26 +0000 (21:57 -0700)]
Remove redundant \since 5.0

\since 5.0 has been add to the class section, so member functions and
properties donot need this any more.

see SHA: 5728c8a8e7c994b931d340315c241350d646f62a

Change-Id: I4e67461373dda99ee1fbfdeb6477fde1dcfec116
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoFixed path in qobject unittest
Kurt Korbatits [Thu, 22 Mar 2012 03:07:29 +0000 (13:07 +1000)]
Fixed path in qobject unittest

- Fixed path was failing to find sub program.

Change-Id: I86f1a6941e244c9bc25ad0441cc7a441607560b7
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoChanged installTestHelperApp() to use relative paths to build
Kurt Korbatits [Thu, 22 Mar 2012 02:46:19 +0000 (12:46 +1000)]
Changed installTestHelperApp() to use relative paths to build

- Changed installTestHelperApp() to use OUT_PWD path to find files.
  (was looking in source tree instead of build)

Change-Id: If795c17a76aebcfbbe0d4f84c5df784a255ddb19
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoUse delete[] instead of delete.
Sergio Martins [Thu, 15 Mar 2012 11:10:39 +0000 (11:10 +0000)]
Use delete[] instead of delete.

Change-Id: Idfa039a56ce0f7af92e91ec1657d91c79c400d6c
Reviewed-by: David Faure <faure@kde.org>
12 years agoRemove support for meta-object revisions < 7
Kent Hansen [Wed, 14 Mar 2012 06:52:30 +0000 (07:52 +0100)]
Remove support for meta-object revisions < 7

For Qt5 we no longer want to support the older revisions due to the
dual codepaths that must be maintained, and because the format of the
meta-object data is quite different in revision 7.

The dual codepaths have been replaced by asserts that indicate the
revision in which the feature was introduced, and the older-revision
fallbacks have been removed.

It's not possible to build code generated by moc that has
revision <= 6 with Qt5 because the type of the
QMetaObject::stringdata member changed from const char * to const
QByteArrayData *. For the same reason it's not possible to build a
dynamic meta-object generator targeting revision <= 6 with Qt5.
Hence, too old meta-objects will be caught at compile time, and the
code will have to be ported to generate revision 7 (e.g., by running
Qt5's moc on the original class declaration).

Change-Id: I33f05878a2d3ee3de53fc7009f7a367f55c25e36
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoAdded extra tests to json benchmark
Kurt Korbatits [Mon, 19 Mar 2012 04:54:16 +0000 (14:54 +1000)]
Added extra tests to json benchmark

- Added toByteArray() and fromByteArray() benchmark tests.
  Performance tests to measure QVariantMap to bytearray
  and bytearray to QVariantMap.
  Use case: Interprocess communications via local socket

Change-Id: If5e94ff870890b2ebb665f3cc38f5c33b34547f4
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoQDoc: updating manual to use "type".
Jerome Pasion [Wed, 21 Mar 2012 11:22:19 +0000 (12:22 +0100)]
QDoc: updating manual to use "type".

-updated both QDoc manual and QDoc guide
-"QML element" and "QML component" should be "QML type"

Change-Id: Ib2a0e8baa9087a04d35c05bbbd35852da10faf42
Reviewed-by: Martin Smith <martin.smith@nokia.com>
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoqdoc: Disable generation of .pageindex file.
Casper van Donderen [Wed, 21 Mar 2012 12:28:25 +0000 (13:28 +0100)]
qdoc: Disable generation of .pageindex file.

The .pageindex file was generated for the search engine on the
doc.qt.nokia.com website, since this website is not used anymore there
is no use for the .pageindex file.

Task-number: QTBUG-24911
Change-Id: Ie74f569ce881ab383d83ac9c5a8bc223da91564a
Reviewed-by: Martin Smith <martin.smith@nokia.com>
12 years agoUse main thread event loop for navigator event processing
Kevin Krammer [Tue, 20 Mar 2012 10:27:52 +0000 (11:27 +0100)]
Use main thread event loop for navigator event processing

Removes the need for an extra thread by creating the event handler's
socket notifier in the context of the main thread.

Change-Id: If8c7bb986074083b5b9a7b9c96734a970ba32f92
Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
12 years agoChange the parameter name of signals to be consistent.
Stephen Kelly [Wed, 21 Mar 2012 18:43:55 +0000 (19:43 +0100)]
Change the parameter name of signals to be consistent.

Change-Id: Ib602fde3f9cb240f328457abf57a341c98aaace9
Reviewed-by: hjk <qthjk@ovi.com>
12 years agoQMetaMethod::typeName() should return "void" if the return type is void
Kent Hansen [Tue, 20 Mar 2012 18:27:02 +0000 (19:27 +0100)]
QMetaMethod::typeName() should return "void" if the return type is void

QMetaMethod::typeName() is documented to return an empty string if
the return type is void. But after the introduction of
QMetaType::UnknownType (where void was made a distinct type),
returning an empty string causes the idiom

   QMetaType::type(method.typeName())

to break; the result will be QMetaType::UnknownType rather than
the expected QMetaType::Void for methods that return void.

New code should use the new function QMetaMethod::returnType()
instead, but it would be good if existing code still did the right
thing.

The consequence of returning "void" instead of an empty string is
that it breaks existing logic that uses the typeName() length to
determine whether a method returns void. But we judge this as the
lesser of the two evils; it's better to have a typeName() function
that is consistent and keeps the QMetaType::type(method.typeName())
idiom working, than to force the typeName() inconsistency for void
only to keep code that does "strlen(method.typeName()) == 0"
working.

The places in Qt that were relying on a zero-length typeName()
(testlib, dbus, declarative) have already been changed to use
returnType().

Also adapt QMetaObjectBuilder, which is internal API.

Change-Id: I70249174029811c5b5d2a08c24b6db33b3723d19
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoFix QMetaObject::normalizedType() for "void" argument
Kent Hansen [Wed, 21 Mar 2012 13:06:43 +0000 (14:06 +0100)]
Fix QMetaObject::normalizedType() for "void" argument

Since the introduction of QMetaType::UnknownType, void is a proper
meta-type, and the normalized form of "void" should be "void", not
an empty string.

Add more tests to ensure that we do remove "void" in the one case
where it actually should be removed (e.g. "foo(void)").

Change-Id: I72dc2d24da67cf52da00c678f50213cff1b92e25
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
12 years agoRemove Q_WS_X11
Frederik Gladhorn [Thu, 15 Mar 2012 14:16:43 +0000 (15:16 +0100)]
Remove Q_WS_X11

The define is removed and only adds includes.

Change-Id: Id6cc32aa22536f78bb5de10cb779a3168e79441a
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
12 years agoUse the new QMetaMethod API in testlib
Kent Hansen [Tue, 20 Mar 2012 18:08:39 +0000 (19:08 +0100)]
Use the new QMetaMethod API in testlib

Use QMetaMethod::name() instead of parsing the signature.
Use QMetaMethod::returnType() instead of checking the length of
typeName().
Use QMetaMethod::parameterCount() instead of checking the
size of parameterTypes().

Change-Id: I424370b19b5b150865377666dca0fba5f29ad30f
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
12 years agoFix QWidgetTextController issue when used with QtQuick1 TextEdit
Pekka Vuorela [Tue, 20 Mar 2012 16:52:50 +0000 (18:52 +0200)]
Fix QWidgetTextController issue when used with QtQuick1 TextEdit

Calling QInputMethod::invokeAction() was not checking for proper event
type and was requiring context widget unnecessarily.
Fixes some parts of QTBUG-24035

Change-Id: I51fe9ed02a018ced36319eb672a088503649b275
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
12 years agoFix directories never being unwatched after deletion on Windows.
Robin Burchell [Sat, 17 Mar 2012 22:28:48 +0000 (23:28 +0100)]
Fix directories never being unwatched after deletion on Windows.

This causes all sorts of problems, but is also blocking the introduction of new,
more detailed signals, because the backend never correctly identified the removal.

The object handle appears to be woken up before the directory is actually
deleted, thus causing QFileInfo::exists() to return true, and not doing the
removal dance. This behaviour isn't exactly documented (as far as I was able to
find out), but also seems to happen consistently, and Chromium also contains
a comment noting a similar issue.

Task-number: QTBUG-2331
Change-Id: Icfb6219b78e688852d7863a666a0ffc31bb4d573
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoCocoa: improve mouse button tracking warnings
Bradley T. Hughes [Wed, 21 Mar 2012 10:08:14 +0000 (11:08 +0100)]
Cocoa: improve mouse button tracking warnings

The warnings about "Internal mouse button tracking invalid" should check
for the correct button before emitting a warning. The warning should
also mention the correct button as well. For otherMouseDragged, we
simply check for any button that's not the left or right button.

Change-Id: I9eb6d6bd7fb5919e745b7f8eb517b4bc9efd36a6
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
12 years agoCocoa: Improve window activation handling.
Morten Johan Sorvig [Wed, 21 Mar 2012 07:47:16 +0000 (08:47 +0100)]
Cocoa: Improve window activation handling.

Make Qt window activation follow the Cocoa key
window, with one exception: Popup windows become
the key window but not the Qt active window.

Change-Id: Ic4d8685737fa3ec5c15a68b81844929370c9cd8e
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
12 years agoQLatin1String: Suppress MSVC warnning.
Debao Zhang [Tue, 20 Mar 2012 23:43:53 +0000 (16:43 -0700)]
QLatin1String: Suppress MSVC warnning.

Change-Id: I61ab71549799a5af8cce85e334245642a266c3c8
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
12 years agoQDoc: Changing "element" string to "type".
Jerome Pasion [Wed, 21 Mar 2012 09:30:01 +0000 (10:30 +0100)]
QDoc: Changing "element" string to "type".

-QDoc output should use "type", not "element".
"This type was introduced..."

Change-Id: I72b6ba6318889d7727796b80574b72694f2b7594
Reviewed-by: Martin Smith <martin.smith@nokia.com>
12 years agopermit explicitly empty qt.conf entries
Oswald Buddenhagen [Tue, 20 Mar 2012 18:18:51 +0000 (19:18 +0100)]
permit explicitly empty qt.conf entries

this allows expressing "no SettingsPath" cleanly, and makes the
internals cleaner.

this is marginally behavior-incompatible in that if somebody had Prefix
or Data set to an empty string (rather than a dot, which is hinted at by
the documentation and commanded by common sense), he would have gotten
the binary's directory resp. Prefix, while now it will be just empty.

Change-Id: I3c11cc4e8671ffb604d4889389764a9ba9c2e7e6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>