profile/ivi/qtbase.git
12 years agoFix QFileSystemEngine::canonicalName() returning corrupt data
Thomas McGuire [Mon, 10 Sep 2012 07:54:14 +0000 (09:54 +0200)]
Fix QFileSystemEngine::canonicalName() returning corrupt data

In case of an error when calling realpath(), the return value buffer
was uninitalized, but still used.
Now the error value is checked to prevent this. Additionally, this fixes
a memory leak in the error case.

In addition, use the modern version of realpath() on QNX, since it is
available there.

Change-Id: I0ac83454679619f379df9c482c958789ab31866a
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
12 years agoInitial bearer plugin for WinCE and WEC7.
Janne Anttila [Thu, 8 Mar 2012 12:43:11 +0000 (14:43 +0200)]
Initial bearer plugin for WinCE and WEC7.

In WinCE and WEC7 the IOCTL_NDISUIO_QUERY_OID_VALUE DeviceIoControl
calls need to be used instead of OCTL_NDIS_QUERY_GLOBAL_STATS which
is not supported in WinCE / WEC7.

Task-number: QTBUG-24525

Change-Id: Ic091b5c38db95ffc657968b232ae0965ae6a4e81
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoRemove misleading documentation about QAbstractSocket::bytesWritten
Thiago Macieira [Mon, 10 Sep 2012 11:09:36 +0000 (13:09 +0200)]
Remove misleading documentation about QAbstractSocket::bytesWritten

The signal has nothing to do with any action on the remote side. It is
emitted when the class has written the bytes to the operating system.
More likely than not, the bytes have not been even sent yet, much less
read by the other side.

Change-Id: Ia04d37ffc8c0788173d3d29f49c5759bcdef6afa
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
12 years agoCocoaPlugin: remove autoreleasepool warnings on 10.6
Richard Moe Gustavsen [Tue, 4 Sep 2012 12:15:20 +0000 (14:15 +0200)]
CocoaPlugin: remove autoreleasepool warnings on 10.6

All examples running on 10.6 complained about missing autoreleasepools. This
patch adds them in where they were missing.

Change-Id: I18a1ddf486efdd1ece82d82d111b46e2ef064ff1
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
12 years agoFix semantics of the src dir in the include search paths with MinGW
Simon Hausmann [Thu, 6 Sep 2012 11:51:37 +0000 (13:51 +0200)]
Fix semantics of the src dir in the include search paths with MinGW

This issue originates from https://bugs.webkit.org/show_bug.cgi?id=95736

Suppose we have
    main.cpp
    somedirectory/someheader.h -- which has #include "anotherheader.h"
    anotherheader.h

With unix generator, the directory where main.cpp is located is included,
unless no_include_pwd is set. Hence the look-up of anotherheader.h from
within someheader.h will work.

With MSVC this works because MSVC looks "in the directories of any
previously opened include files in the reverse order in which they were
opened." (from http://msdn.microsoft.com/en-us/library/36k2cdd4.aspx)

Unfortunately the build breaks with MinGW, because it lacks support for
including the source directory in the include search path just like the
unix generator does.

This patch adds the same functionality to the MinGW generator as well as
an auto-test.

Change-Id: Iea8bb06e34862c51b8fd4eca2ee26668e24a319a
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoFix build of tests/ on Windows CE
Kevin Funk [Mon, 10 Sep 2012 09:08:37 +0000 (11:08 +0200)]
Fix build of tests/ on Windows CE

Remove some subprojects that have missing dependencies or use API that is
non-available on Windows CE.

Change-Id: Iad7118b95a691a433c3f798d56a6a069e5e41917
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoWindows: Implement automatic mouse capture in QPA.
Friedemann Kleint [Wed, 5 Sep 2012 11:39:25 +0000 (13:39 +0200)]
Windows: Implement automatic mouse capture in QPA.

Qt expects the mouse to be captured on any button press
until release.

Remove flags to store capture, use WinAPI GetCapture() instead.
Remove setMouseGrabEnabled_sys(), streamline code.

Replacement for the reverted change
6b5bbc531b30d8ece25425e39843c6ae1af1d045 for QTBUG-25977.

Task-number: QTBUG-27132
Task-number: QTBUG-27039
Task-number: QTBUG-25977
Task-number: QTBUG-26962
Change-Id: If86428eabfadcafd16da10f134a419f833185272
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoFix printing with OS X platform plugin
Eskil Abrahamsen Blomfeldt [Tue, 4 Sep 2012 11:54:07 +0000 (13:54 +0200)]
Fix printing with OS X platform plugin

Since we do not pass in the destination dpi to CoreText when making
the font, we need to pass in a point size which is scaled to include
the dpi change. The default dpi for the screen is 72, thus the
scale factor is destinationDpi/72. Since pixelSize = pointSize / 72 * dpi,
the pixelSize is actually the scaled point size for the destination
dpi, thus we pass in that instead.

Note that this only works because the default screen dpi on Mac is 72.
You can look at the CoreText font database in Qt 4.8 to verify that the
same trick is used there.

When 96 dpi is explicitly set (specifically for autotests), we need to
fall back to the old behavior, since the OSX platform plugin will then
use 72 for some fonts and 96 for others making it impossible to detect
the DPI in a consistent way. The correct fix would be to pass in the
dpi to the function, but until that fix can be made, we just use the
old code to keep the autotests passing.

Task-number: QTBUG-25555
Change-Id: Id20a273549c3abf3db56ef1c48553c0958c48d61
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
12 years ago[Qt5 Docs] Fix typos and style of qtimer.cpp and qdatetimeedit.cpp
David Gil [Sat, 8 Sep 2012 17:06:23 +0000 (19:06 +0200)]
[Qt5 Docs] Fix typos and style of qtimer.cpp and qdatetimeedit.cpp

Fix some typos. Fix some sentences to make them clearer to understand.
Fix some Qt4-widget-centric info.

Change-Id: I77f23ce8cb9a6752a0f8dd214c9ff550d620cd21
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years ago[Qt5 Docs] Fix typos and style of qdatetime.cpp
David Gil [Tue, 4 Sep 2012 22:52:53 +0000 (00:52 +0200)]
[Qt5 Docs] Fix typos and style of qdatetime.cpp

Fix some typos. Fix some sentences to make them clearer to understand.
After searching for Qt4-specific info, nothing found.

Eskil Abrahamsen Blomfeldt

Change-Id: I5c53d353d52c094c46d560bc4ff57b93def7550f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Reviewed-by: Mitch Curtis <mitch.curtis@nokia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agoandroid: we have mkdtemp.
Arvid Picciani [Sun, 9 Sep 2012 19:36:55 +0000 (21:36 +0200)]
android: we have mkdtemp.

they just forgot to declare it.
see: bionic ad1ff2fb268034074488f0b4b30b5311008b8617

Change-Id: Ide0c0edaa1b5fd17e58ffce1e3d49e320d80e57a
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Arvid Picciani <aep@exys.org>
12 years agoQNX: Compile. Adapting to change in QString API.
Thomas McGuire [Mon, 10 Sep 2012 08:21:52 +0000 (10:21 +0200)]
QNX: Compile. Adapting to change in QString API.

Use fromLatin1() instead of fromAscii().

Change-Id: Ib3bd15a78b595d77c66fbc6d8ae50710a9e9de42
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
12 years agoFix rounding error when drawing scaled text on OS X
Eskil Abrahamsen Blomfeldt [Tue, 4 Sep 2012 14:18:45 +0000 (16:18 +0200)]
Fix rounding error when drawing scaled text on OS X

This especially affected the print preview dialog, where certain
characters would be grossly mispositioned.

Task-number: QTBUG-27131
Change-Id: I385474a6f609a8f4291988206c7e63a0747673dd
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
12 years agoexample: minor fix to gettingStarted - part5
Sergio Ahumada [Tue, 4 Sep 2012 18:13:22 +0000 (20:13 +0200)]
example: minor fix to gettingStarted - part5

Do not compare a QString to "".  Instead use the .isEmpty() method.

Change-Id: Ifda1361b2c288dd590f0294daacdf5e2d9241522
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
12 years agoDo not call requestActivateWindow() on popups.
Friedemann Kleint [Fri, 7 Sep 2012 07:36:49 +0000 (09:36 +0200)]
Do not call requestActivateWindow() on popups.

Showing a compo dropdown would cause the parent to
become deactivated (Windows). Introduced by:

8368557b9c0010fb205969d010c9d8549fbee0ae for
QTBUG-25852 , QTBUG-23699 .

Task-number: QTBUG-27145
Change-Id: I7b89697a2c55d58cc0ab184b61a0cff8bf2275ec
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoRemove old troll test servers' references.
Leonard Lee [Fri, 7 Sep 2012 11:31:24 +0000 (13:31 +0200)]
Remove old troll test servers' references.

Replaced with qt-project.org test domain.
The connectToMultiIP auto test is still disabled due to lack of test infrastructure.

Task-number: QTBUG-23294

Change-Id: Icf01aabb0ae503291abdda4e8f773f8e0a08931a
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoRename QPaintDevice::init() to initPainter()
Richard Moore [Wed, 5 Sep 2012 08:24:22 +0000 (09:24 +0100)]
Rename QPaintDevice::init() to initPainter()

The old name was too generic and was likely to cause warnings in user
code.

Change-Id: I7126d8fe89a394cd8388af5a030961af7b69c741
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoin non-verbose mode, suppress qmake output as well
Oswald Buddenhagen [Mon, 3 Sep 2012 10:35:33 +0000 (12:35 +0200)]
in non-verbose mode, suppress qmake output as well

otherwise missing pkg-config requirements, etc. will be visible.

Change-Id: I5a5c0f35cf75e1fcc09ddbc7fcc54cef6bfec8b5
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: J-P Nurmi <j-p.nurmi@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoUse QStringList::join(QChar) overload where applicable [QtDBus]
Marc Mutz [Fri, 18 May 2012 18:00:23 +0000 (20:00 +0200)]
Use QStringList::join(QChar) overload where applicable [QtDBus]

This is an automated change performing the following replacements:
                    join\("(.)"\) -> join('\1')
  join\(QLatin1String\("(.)"\)\)  -> join(QLatin1Char('\1'))
  join\(QStringLiteral\("(.)"\)\) -> join(QLatin1Char('\1'))

Change-Id: I807b0e88ac71a0cb367fb4170cca8f2cb0ad43f3
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
12 years agoMove the non-C++ parts of qglobal.h outside of __cplusplus
Thiago Macieira [Wed, 29 Aug 2012 09:39:37 +0000 (11:39 +0200)]
Move the non-C++ parts of qglobal.h outside of __cplusplus

This allows some more goodies to be available in C mode.

Change-Id: I5c8a19b6150081a20aae8d3d9d8d7cb30d750536
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoMove the constructor and destruction function macros to the C++ part
Thiago Macieira [Wed, 29 Aug 2012 09:25:22 +0000 (11:25 +0200)]
Move the constructor and destruction function macros to the C++ part

These macros expand to C++ code, so there's no point in having them
defined in the non-C++ part of qglobal.h.

Change-Id: Ic5763196391798e362d33466114969818e7e6793
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoUse the same hash for 8 bit strings as in QByteArray
Lars Knoll [Fri, 7 Sep 2012 13:11:36 +0000 (15:11 +0200)]
Use the same hash for 8 bit strings as in QByteArray

Moc still used a different and quite a bit more complicated
algorithm to hash 8bit strings then QByteArray.

Change-Id: I86efb08d5ab7de1863fc168dcfc73399e72e1331
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoQNX: Add some optional debug output to event dispatcher
Sean Harmer [Wed, 29 Aug 2012 13:14:20 +0000 (14:14 +0100)]
QNX: Add some optional debug output to event dispatcher

Change-Id: I4353619f2dc889f50a139dd5e224a79b780fb316
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
12 years agoRemove temporary constructor used to make qreal->float change
Sean Harmer [Fri, 7 Sep 2012 18:00:21 +0000 (19:00 +0100)]
Remove temporary constructor used to make qreal->float change

The constructor being removed was needed to allow the CI to work until
commit e88f56afc2c889eede8c719b9ce7b621f49a96f9 in qtdeclarative was
merged.

This completes the move from qreal->float in QtGui/math3d.

Change-Id: I2afd108bd9398a1e6925b2885a90dbbad4d25669
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoRemoving duplicate includes
Sergio Ahumada [Wed, 5 Sep 2012 13:07:42 +0000 (15:07 +0200)]
Removing duplicate includes

Do not include a header more than once

Change-Id: Ia2e5d66e72988ad833cf5177a3f8aa988bf510e9
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agotest: QFtp tests require `private_tests' set
Sergio Ahumada [Thu, 6 Sep 2012 10:53:33 +0000 (12:53 +0200)]
test: QFtp tests require `private_tests' set

Also fixing some includes and re-enabling the test

Change-Id: I4a061e106c2e55db39b8000729737a93e3d7714a
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
12 years agoFix missing or improper include guard in headers
Sergio Ahumada [Wed, 5 Sep 2012 10:40:51 +0000 (12:40 +0200)]
Fix missing or improper include guard in headers

Use an include guard in headers to ensure the header is not included
more than once. Make the header guard match its file name.

Change-Id: Icf7d7d4bed91443b3b21ef5d4219dbd260dffef3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoMove tutorials to widgets.
Frederik Gladhorn [Fri, 24 Aug 2012 16:22:44 +0000 (18:22 +0200)]
Move tutorials to widgets.

All of these are very QWidget centric.
They cannot properly refer to the
sources without being part of the widget module.

This fixes around 300 qdoc errors.

Change-Id: I5a7c2dbc10f7913f7b088d6a0ac81323b3c287ac
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoqdoc: Renaming include guard in qmlmarkupvisitor.h header
Sergio Ahumada [Wed, 5 Sep 2012 11:08:40 +0000 (13:08 +0200)]
qdoc: Renaming include guard in qmlmarkupvisitor.h header

This header guard is duplicated with qmlvisitor.h

Change-Id: I11787dd8af2834e446eabd219f93b74c0b52428d
Reviewed-by: Martin Smith <martin.smith@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoprintsupport: Fix missing or improper include guard in headers
Sergio Ahumada [Wed, 5 Sep 2012 11:35:13 +0000 (13:35 +0200)]
printsupport: Fix missing or improper include guard in headers

Use an include guard in headers to ensure the header is not included
more than once. Make the header guard match its file name.

Change-Id: Iefc02181fe235ede51c567fb54997531e5cd08a3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoAdd support for the Intel Composer XE 2013.
Thiago Macieira [Sat, 8 Sep 2012 14:30:28 +0000 (16:30 +0200)]
Add support for the Intel Composer XE 2013.

ICC 13.0 adds some new C++11 features that we can now support.

Change-Id: Ia870a3bb0172ff124983725300e8f9bf2e325ec6
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoMake the default Qt API be Qt 5.0's
Thiago Macieira [Mon, 30 Apr 2012 14:03:18 +0000 (16:03 +0200)]
Make the default Qt API be Qt 5.0's

This means user applications will default to Qt 5.0's API. Higher
versions or Qt 4 compatibility are opt-in.

Also set the default for Qt's own build to be 5.0 on all platforms
except Windows. On Windows, we need to set it to 4.9.

Task-number: QTBUG-25053
Change-Id: I603e0fda4785e64e1413cd82153a89e48005aa40
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agodon't use QT_{BEGIN,END}_INCLUDE_NAMESPACE needlessly
Oswald Buddenhagen [Mon, 3 Sep 2012 14:56:48 +0000 (16:56 +0200)]
don't use QT_{BEGIN,END}_INCLUDE_NAMESPACE needlessly

these macros behave counter-intuitively, so don't use them unless the code
structure really suggests their use.

Change-Id: I58213b39f8a98e4368901217fac14ca49c28b8cf
Reviewed-by: hjk <qthjk@ovi.com>
12 years agocentralize initialization of CONFIG in mkspecs
Oswald Buddenhagen [Mon, 3 Sep 2012 13:38:31 +0000 (15:38 +0200)]
centralize initialization of CONFIG in mkspecs

"CONFIG += qt warn_on release link_prl" is in every single spec (though
for link_prl there is one genuine exception and two apparent omissions).

Change-Id: I72e1e315586af828eefa3b0b70998ab892ec3c1a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agocentralize initialization of QT in specs
Oswald Buddenhagen [Mon, 3 Sep 2012 13:12:07 +0000 (15:12 +0200)]
centralize initialization of QT in specs

there is no reason whatsoever to duplicate this so many times, and even
less reason to have specs with a deviating default.

Change-Id: Ia25836c079580adebc373697b8bd03598f79c69b
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove useless TEMPLATE assignments from specs
Oswald Buddenhagen [Mon, 3 Sep 2012 13:08:05 +0000 (15:08 +0200)]
remove useless TEMPLATE assignments from specs

"app" is the built-in default anyway

Change-Id: I4f581ee5b81aee08860dbdda5d863943bceafb1b
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoadjust specs to the new target mode handling
Oswald Buddenhagen [Mon, 3 Sep 2012 11:11:16 +0000 (13:11 +0200)]
adjust specs to the new target mode handling

not strictly necessary, but nicer.

QMAKE_PLATFORM (and thus CONFIG) now also contains the name of the OS, and
its family (if applicable, e.g., bsd). this also adds more feature search
paths.

Change-Id: I3ab971e6e3b2b32cae53b95e4bc67a86688bc5cb
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoenable depend_includepath by default
Oswald Buddenhagen [Mon, 3 Sep 2012 09:31:55 +0000 (11:31 +0200)]
enable depend_includepath by default

DEPENDPATH is hard to get right, and consequently most projects have
broken dependencies.
the easy way out is just adding everying in INCLUDEPATH to DEPENDPATH,
like we do ourselves in qt. if somebody wants to optimize, he can
opt-out.

Change-Id: I7fb56010728fd2b0d2b7d4d26386f366d414ba04
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoCheck for C++ operators that should be 'const'
Sergio Ahumada [Tue, 4 Sep 2012 19:10:05 +0000 (21:10 +0200)]
Check for C++ operators that should be 'const'

Make sure all C++ class comparison operators are const.

Change-Id: Ib4a66f2afe6c62f437dae1ecde94287d3db8442d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: David Faure <faure@kde.org>
12 years agoFix QTest::qExec crash with no command line arguments
Jeremy Lainé [Tue, 4 Sep 2012 14:04:19 +0000 (16:04 +0200)]
Fix QTest::qExec crash with no command line arguments

The documentation for QTest::qExec states that command line arguments
are optional and gives the following example:

 MyTestObject test1;
 QTest::qExec(&test1);

However, running this example leads to crash as argv[0] is accessed
without testing argc. This change fixes this bug.

Change-Id: I2ec016e02869d21b24bc11f1851a760036640191
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jason McDonald <macadder1@gmail.com>
12 years agoQDBusIntegrator: fix unprotected QDBusPendingCallPrivate::waitingForFinished call
Marc Mutz [Wed, 29 Aug 2012 16:12:28 +0000 (18:12 +0200)]
QDBusIntegrator: fix unprotected QDBusPendingCallPrivate::waitingForFinished call

There probably is a happens-before relation to all the writes of the bool elsewhere,
but the comment in QDBusPendingCallPrivate says waitingForFinsihed is one of the
variables protected by the mutex, so don't make every reader of the code re-establish
the safety (if indeed, it is safe) oneself again, but just wrap the access in a
mutex lock.

To be able to compile the mutex locking out of release builds, wrap the access
in a function. Make the function static _inline_ so compilers won't complain
about it being unused in release builds.

Change-Id: I914ce91e64e776450c697a3243b35716390a218c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoMention logging related changes in changes-5.0.0 file
Kai Koehne [Wed, 5 Sep 2012 11:28:21 +0000 (13:28 +0200)]
Mention logging related changes in changes-5.0.0 file

Change-Id: I6798a2b09fb0f832c32bac325fa0bcf40dbb854e
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoFix warning about not enough actual parameters for macro.
Jędrzej Nowacki [Wed, 5 Sep 2012 11:47:27 +0000 (13:47 +0200)]
Fix warning about not enough actual parameters for macro.

QT_METATYPE_INTERFACE_INIT_EMPTY_DATASTREAM_IMPL ignores arguments
anyway so it is not a problem to give a void type.

Change-Id: I66109cc9ae43b48d5cacbd11bebe135a71e10ed7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agofix c string comparison
Oswald Buddenhagen [Fri, 31 Aug 2012 14:21:01 +0000 (16:21 +0200)]
fix c string comparison

Change-Id: If9cc96e240047cfe301804d57a33b937afadef72
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: J-P Nurmi <j-p.nurmi@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agode-duplicate MODULE_DEPENDS
Oswald Buddenhagen [Mon, 3 Sep 2012 10:19:39 +0000 (12:19 +0200)]
de-duplicate MODULE_DEPENDS

in modules which conditionally add dependencies it is hard to keep $$QT
free of duplicates at definition time, so clean it up when we use it.

Change-Id: Ia711e23bec3683525dfca80df4834e20b007ba1f
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agouse each module's lib_bundle setting
Oswald Buddenhagen [Fri, 1 Jun 2012 06:25:15 +0000 (08:25 +0200)]
use each module's lib_bundle setting

... instead of relying on the global qt_framework flag.

Change-Id: Ie23f55788c26d732ada87aab7284c0a1fe0bfa28
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agogeneralize environment additions to tool invocation
Oswald Buddenhagen [Thu, 6 Sep 2012 17:08:28 +0000 (19:08 +0200)]
generalize environment additions to tool invocation

foo.name = VAR
foo.value = baz bar
foo.CONFIG = prepend
QT_TOOL_ENV += foo

will add the respective environment assignment to the generated command
line.
if value is a list, the elements are joined with the shell's path list
separator.
the value must be in the final form (correct path separators and
shell-escaped).
if .CONFIG prepend is set, the generated command will prepend the
new value to a pre-existing one.

Change-Id: I62c6dfb3ec50ce73d3a85a2099275f92b57a52dc
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agocache the right variable
Oswald Buddenhagen [Thu, 6 Sep 2012 17:05:22 +0000 (19:05 +0200)]
cache the right variable

binary+depends is outdated; it's just command now

Change-Id: Ic4617d760585e53a485920e843627d3f9707d6a9
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoQVariant: prevent QVariant(QMetaType::Type) from compiling
Marc Mutz [Tue, 21 Aug 2012 08:05:41 +0000 (10:05 +0200)]
QVariant: prevent QVariant(QMetaType::Type) from compiling

Reported-by: Stephen Chu <stephen@ju-ju.com>
Change-Id: I298973174ff10f4462f04f3358c974c04dfd3383
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Stephen Chu <stephen@ju-ju.com>
12 years agoUse QStringList::join(QChar) overload where applicable [QtNetwork]
Marc Mutz [Fri, 18 May 2012 18:00:23 +0000 (20:00 +0200)]
Use QStringList::join(QChar) overload where applicable [QtNetwork]

This is an automated change performing the following replacements:
                    join\("(.)"\) -> join('\1')
  join\(QLatin1String\("(.)"\)\)  -> join(QLatin1Char('\1'))
  join\(QStringLiteral\("(.)"\)\) -> join(QLatin1Char('\1'))

Change-Id: I5b75877ba192fa1357e67fee70dff7c0475991e8
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
12 years agoUse QStringList::join(QChar) overload where applicable [QtWidgets]
Marc Mutz [Fri, 18 May 2012 18:00:23 +0000 (20:00 +0200)]
Use QStringList::join(QChar) overload where applicable [QtWidgets]

This is an automated change performing the following replacements:
                    join\("(.)"\) -> join('\1')
  join\(QLatin1String\("(.)"\)\)  -> join(QLatin1Char('\1'))
  join\(QStringLiteral\("(.)"\)\) -> join(QLatin1Char('\1'))

Change-Id: Ia30048e0c40967dc86a4e4ad26ac02ab67519096
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
12 years agoUse QStringList::join(QChar) overload where applicable [QtGui]
Marc Mutz [Fri, 18 May 2012 18:00:23 +0000 (20:00 +0200)]
Use QStringList::join(QChar) overload where applicable [QtGui]

This is an automated change performing the following replacements:
                    join\("(.)"\) -> join('\1')
  join\(QLatin1String\("(.)"\)\)  -> join(QLatin1Char('\1'))
  join\(QStringLiteral\("(.)"\)\) -> join(QLatin1Char('\1'))

Change-Id: Id8d43c1b1ca9cd3aa0b4eedca6709b6287a9bc98
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoQNX: Enable support for hardware buttons in QPA plugin
Sean Harmer [Tue, 4 Sep 2012 18:58:27 +0000 (19:58 +0100)]
QNX: Enable support for hardware buttons in QPA plugin

Change-Id: I3de18c3fdcfdacddc375b70800b34b6a8d16ac41
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
12 years agoEnable autodetecting of EGL event for desktop GL
Jorgen Lind [Fri, 7 Sep 2012 14:36:49 +0000 (16:36 +0200)]
Enable autodetecting of EGL event for desktop GL

And only use the QT_CONFIG,egl syntax in eglconvenience

Change-Id: I81c0602334714f4b27a7e90e7b5859c989e6bd63
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
12 years agodoc: Clean up QAbstractItemModel documentation
Eskil Abrahamsen Blomfeldt [Wed, 5 Sep 2012 11:32:48 +0000 (13:32 +0200)]
doc: Clean up QAbstractItemModel documentation

Mention QML as an alternative to widgets in the documentation,
and fix a typo

Change-Id: Ia6aaef9ec73d5112ff45c22b0bf57f1f9c7d31a3
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
12 years agoUse setenv in qputenv if possible, since it won't leak
Thiago Macieira [Fri, 7 Sep 2012 14:13:36 +0000 (16:13 +0200)]
Use setenv in qputenv if possible, since it won't leak

putenv(3) is evil: SUSv2 requires that the pointer passed to it be added
to the environment and that modifying the contents of that pointer later
will also cause the environment to change. That means we needed to
strdup before calling it and that memory was never freed.

This shows up all the time in valgrind's leak check.

Instead, let's use the 4.3BSD & POSIX.1-2001 setenv(3) function, which
does copy. That means there are either no leaks or, if there are,
they're not our fault.

Change-Id: I4576f91cc718b6b3cae790c4f2854c4976dded37
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
12 years agoLogging: Fix mingw32-gcc compiler warning about unused variable
Kai Koehne [Thu, 30 Aug 2012 12:25:35 +0000 (14:25 +0200)]
Logging: Fix mingw32-gcc compiler warning about unused variable

Change-Id: I985c2096e604a3cb14eb3a41c4f12aa28f0ea681
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoFix performance regression when appending one vector to another
Lars Knoll [Fri, 7 Sep 2012 08:02:04 +0000 (10:02 +0200)]
Fix performance regression when appending one vector to another

When appending a QVector to an existing vector the code would
unconditionally realloc the vector instead of first checking
whether we can do without. This gives a quadratic behaviour when
repeatedly appending a vector to another.

Change-Id: I2cd81253e6a8aec0bc4402e6fbda262435080966
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoQtNetwork: bypass proxy for local connections
Julien Brianceau [Mon, 3 Sep 2012 11:56:09 +0000 (13:56 +0200)]
QtNetwork: bypass proxy for local connections

According to Qt doc, "Network proxy is not used if the address used in
connectToHost(), bind() or listen() is equivalent to
QHostAddress::LocalHost or QHostAddress::LocalHostIPv6. This is not the
case in current implementation.

Change-Id: I6b8a40c1e8bd8aad9504d8f939b87eda6e93337c
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
12 years agoQWeakPointer use for tracking QObjects is deprecated.
Thiago Macieira [Wed, 5 Sep 2012 11:02:56 +0000 (13:02 +0200)]
QWeakPointer use for tracking QObjects is deprecated.

Use QPointer.

Change-Id: Ife3cbec620ec83a9148d274d15e44016a3f5d7d0
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
12 years agoAdded API Reference Style Guidelines
Jerome Pasion [Mon, 13 Aug 2012 10:01:05 +0000 (12:01 +0200)]
Added API Reference Style Guidelines

-added C++ and QML language guidelines as part of QDoc Guide
    -included snippets
-fixed links in the HTML template of the QDoc Guide
-compiles when the main QDoc manual is compiled

Change-Id: Iadd799712eef80e905d092396cb7a1e25a863b43
Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Martin Smith <martin.smith@nokia.com>
12 years agointroduce qmake variable abstractions
Oswald Buddenhagen [Thu, 6 Sep 2012 10:21:38 +0000 (12:21 +0200)]
introduce qmake variable abstractions

this is preparation for adapting to a new evaluator.

Change-Id: I6fc59f5525735754a00afa6629fbfe257e84db97
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoAdd a way to benchmark sem_t on Unix too
Thiago Macieira [Tue, 28 Aug 2012 11:46:16 +0000 (13:46 +0200)]
Add a way to benchmark sem_t on Unix too

It's closer to what we do with in QMutex than pthread_mutex_lock.

Change-Id: I86498a800b69b684bf096912e911bc5bca219727
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoUpdate the git-archive export options
Thiago Macieira [Wed, 29 Aug 2012 14:05:10 +0000 (16:05 +0200)]
Update the git-archive export options

The .gitattributes, .gitignore, .commit-template files do not need to be
present in packaged sources, as they are for people using the Git
repository.  People who download tarballs usually don't reimport into
Git -- they should just download the actual repositories.

Meanwhile, the .tag file is quite useful. Instead of making Git extract
to the useless SHA-1 of the "$Id$\n" string, ask git-archive to store
the SHA-1 of the commit being packaged.

Change-Id: I9a24a526e66f58ef2ebd9a2319bf96cf43e3e6f7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Simo Fält <simo.falt@nokia.com>
12 years agoQtGlobal: mark qVersion() and qSharedBuild() as nothrow
Marc Mutz [Tue, 7 Aug 2012 08:54:00 +0000 (10:54 +0200)]
QtGlobal: mark qVersion() and qSharedBuild() as nothrow

Change-Id: Id9dcf71363754cf6aae94012b22d144455e213eb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoDocument how opacity affects QGraphicsScene item queries.
Mitch Curtis [Fri, 7 Sep 2012 08:17:54 +0000 (10:17 +0200)]
Document how opacity affects QGraphicsScene item queries.

Currently, QGraphicsScene::items() and related functions only return
items that are visible. The definition of visible effectively means
any item for whom isVisible() returns false or opacity() returns 0.0.
However, this is not documented anywhere.

Also fixed some typos/grammatical errors.

Change-Id: Ia6d1f7d63024dc9412438fe97748d7a69ee8225b
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
12 years agoTest: Replace QSKIP by XFAIL
Caroline Chao [Thu, 6 Sep 2012 10:47:50 +0000 (12:47 +0200)]
Test: Replace QSKIP by XFAIL

For tst_QtConcurrentThreadEngine::threadCount

Change-Id: I14b904a26900a01d5d04245ad60d9752f5645e68
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
12 years agoTest: Remove QSKIP for tst_QXmlSimpleReader::inputFromSocket
Caroline Chao [Thu, 6 Sep 2012 07:46:08 +0000 (09:46 +0200)]
Test: Remove QSKIP for tst_QXmlSimpleReader::inputFromSocket

The test is now passing. Tested with intel compiler and vs2008.

Task-number: QTBUG-22285

Change-Id: I728919833d9bcbf71bef68c06baef92667ff074b
Reviewed-by: J-P Nurmi <j-p.nurmi@nokia.com>
12 years agoFix QRegularExpression* docs
Giuseppe D'Angelo [Thu, 6 Sep 2012 16:52:05 +0000 (17:52 +0100)]
Fix QRegularExpression* docs

A couple of runaway backslashes resulted in illegal code in the
examples.

Change-Id: Ib00d4e1d792e44bb73dafdd84c3a1843dcb34e27
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
12 years agoMark plugin class docs as internal.
Frederik Gladhorn [Wed, 5 Sep 2012 14:23:23 +0000 (16:23 +0200)]
Mark plugin class docs as internal.

Change-Id: I2eb0a6ce4108774377df1296de4152715b65de6e
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
12 years agoFix a bug in qdoc where to look for index files.
Jan-Arve Saether [Mon, 3 Sep 2012 08:25:01 +0000 (10:25 +0200)]
Fix a bug in qdoc where to look for index files.

This was only a problem if the qdocconf file was in the same
directory as the current directory (QDir::relativeFilePath()
returns an empty string in that case), so if the documentation was
generated with the makefile rules, this problem did not reveal itself.

Change-Id: I9c8956fdb46c4f307df7ab297dc94e8d3ef93fb4
Reviewed-by: Martin Smith <martin.smith@nokia.com>
12 years agoMake gui/math3d classes use float rather than qreal
Sean Harmer [Mon, 20 Aug 2012 19:55:40 +0000 (20:55 +0100)]
Make gui/math3d classes use float rather than qreal

This corrects the mismatch between using floats for internal storage
and qreal in the API of QVector*D which leads to lots of implicit
casts between double and float.

This change also stops users from being surprised by the loss of
precision when using these classes on desktop platforms and removes
the need for the private constructors taking a dummy int as the final
argument.

The QMatrix4x4 and QQuaternion classes have been changed to use float
for their internal storage since these are meant to be used in
conjunction with the QVector*D classes. This is to prevent unexpected
loss of precision and to improve performance.

The on-disk format has also been changed from double to float thereby
reducing the storage required when streaming vectors and matrices. This
is potentially a large saving when working with complex 3D meshes etc.

This also has a significant performance improvement when passing
matrices to QOpenGLShaderProgram (and QGLShaderProgram) as we no
longer have to iterate and convert the data to floats. This is
an operation that could easily be needed many times per frame.

This change also opens the door for further optimisations of these
classes to be implemented by using SIMD intrinsics.

This needs to be applied in conjunction with

https://codereview.qt-project.org/#change,33548

Task-number: QTBUG-21035
Task-number: QTBUG-20661
Change-Id: I9321b06040ffb93ae1cbd72fd2013267ac901b2e
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoFix compilation error of qcursor_qpa.cpp with QT_NO_CURSOR.
Sergio Martins [Tue, 4 Sep 2012 10:33:36 +0000 (11:33 +0100)]
Fix compilation error of qcursor_qpa.cpp with QT_NO_CURSOR.

ChangeId Ia69f37343f95772e934eab1cd806bd54cbdbbe51 added two new
methods to QCursor but didn't update the fake cursor.

Qt5's build still fails with QT_NO_CURSOR somewhere in
QT_METATYPE_INTERFACE_INIT(Type), but that's another story.

Change-Id: Ib0c706faf78e547d93a1128085e440fe5d1a5e9b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agolinuxfb: use linux/kd.h instead of the glibc dummy
Arvid Picciani [Fri, 7 Sep 2012 08:11:32 +0000 (10:11 +0200)]
linuxfb: use linux/kd.h instead of the glibc dummy

Change-Id: I0f2e35dd82b3353f5ab5e79ba2fc654dd3b4afed
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
12 years agoFixed behaviour of mouse clicks for menu bars on Windows
Oliver Wolff [Mon, 3 Sep 2012 12:34:15 +0000 (14:34 +0200)]
Fixed behaviour of mouse clicks for menu bars on Windows

As the behaviour described in the style hint seems to
be default and working, it can be removed.

Change-Id: Ia8d47cf187597ae48b9e42c3f98ef3d4c390db34
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoFix crash when QTextLayout::setAdditionalFormats is called with ranges with negative...
Olivier Goffart [Wed, 5 Sep 2012 18:42:28 +0000 (20:42 +0200)]
Fix crash when QTextLayout::setAdditionalFormats is called with ranges with negative length

That can be reproduced in Qt Creator when deleting code.

Task-number: QTBUG-27140
Change-Id: Ida7177612653f10e5d866bf9a422c71c632f4eb3
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
12 years agoAdd example to test widget grab.
Friedemann Kleint [Wed, 5 Sep 2012 14:50:46 +0000 (16:50 +0200)]
Add example to test widget grab.

Compiles against Qt 4.8 and Qt 5.

Change-Id: Ic246aeb38171361a8338f38f9b92e5cf3b54b368
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
12 years agoStabilize test of QSpinBox.
Friedemann Kleint [Fri, 7 Sep 2012 08:32:26 +0000 (10:32 +0200)]
Stabilize test of QSpinBox.

The test shows spurious failures in editingFinished() on some Mac
platforms (QTest::qWaitForWindowActive(testFocusWidget)).
This is apparently caused by the widget testFocusWidget (member
variable) interfering with the other tests widgets.
As it is used in one test only, instantiate it on the stack there.

Change-Id: I688cd21a2668d072660658302cf59197abe0b4d8
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
12 years agoRevert "Implement automatic mouse grabbing on mouse button press."
Friedemann Kleint [Thu, 6 Sep 2012 12:37:59 +0000 (14:37 +0200)]
Revert "Implement automatic mouse grabbing on mouse button press."

This reverts commit 6b5bbc531b30d8ece25425e39843c6ae1af1d045.

Autograbbing mouse shouldn't be done in crossplatform code, as
X11 does this automatically. Windows needs platform specific
solution.

Task-number: QTBUG-26962
Task-number: QTBUG-27039
Task-number: QTBUG-23699

Change-Id: I911df92c4a34deb50b729f50681497046657948b
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoRemove declarative_debug feature (qmake)
Kai Koehne [Wed, 5 Sep 2012 10:32:51 +0000 (12:32 +0200)]
Remove declarative_debug feature (qmake)

declarative_debug got superseded by qml_debug and quick1_debug.

Change-Id: Id4c593d86a011223d2a735fb2a8c25e4ec70f53e
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
12 years agoconfigure: Unify order of options in help
Kai Koehne [Wed, 5 Sep 2012 07:34:57 +0000 (09:34 +0200)]
configure: Unify order of options in help

The -developer-build option in the configure shell script is right after
-force-debug-info, move it to the same place in the Windows version.

Change-Id: I9b944f8591011ce9987a4fb98f7d02d88160d9e8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoMove enums that was part of the Qt namespace to qnamespace.h
Jan-Arve Saether [Thu, 6 Sep 2012 13:08:40 +0000 (15:08 +0200)]
Move enums that was part of the Qt namespace to qnamespace.h

This caused some headache wrt documentation, since in order to
generate the proper documentation for the qt namespace
qdoc also needed to parse the headers of gui, which breaks
cross-module linking. (This is because qdoc will actually
generate two almost identical nodes in the code tree; one
from the header files from gui and another from the index file
of gui).

The best fix would maybe be to make it part of
QAbstractTextDocumentLayout, but that will break source compat.

Change-Id: I34e94d05fa4bec3034778d1f1cc0e53d0625e1ab
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
12 years agoRevert "Use true and false in preference to TRUE and FALSE"
Sergio Ahumada [Thu, 6 Sep 2012 08:54:50 +0000 (10:54 +0200)]
Revert "Use true and false in preference to TRUE and FALSE"

Even though I really think the change was the right thing to do, it seems
like Windows people don't like this change because of some Windows Data Types
specific rules.

This reverts parts of the commit 56d5c909af6473be64a1ae487b45bd444a9a8553.

Change-Id: I2c67d9b1bab36fc63937ef386aef56d2a4472a04
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoFix g++ compiler warnings.
Friedemann Kleint [Wed, 5 Sep 2012 13:24:35 +0000 (15:24 +0200)]
Fix g++ compiler warnings.

Unused variables, unsigned comparison DWORD >= 0 is always
true, format string.

Change-Id: I9f0a20392e262b2542fb23ea4f513e4c4e354b68
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoFix QDateEdit displaying day as a number for short and long day formats
Mitch Curtis [Wed, 29 Aug 2012 10:58:35 +0000 (12:58 +0200)]
Fix QDateEdit displaying day as a number for short and long day formats

When 2 (February) is entered as the month for (e.g.) 31/Jan/2000 (which
is following the format: "dd/MMM/yyyy"), the day is corrected to 29 but
displayed as its numerical value instead of its short (or long) name.

Task-number: QTBUG-27036 QTBUG-19091
Change-Id: I558ee13b224707d22b26c2ec2c045f96118bd5a1
Reviewed-by: Mitch Curtis <mitch.curtis@nokia.com>
Reviewed-by: aavit <qt_aavit@ovi.com>
12 years agoFix 3 digit day being displayed by QDateEdit.
Mitch Curtis [Tue, 21 Aug 2012 12:46:42 +0000 (14:46 +0200)]
Fix 3 digit day being displayed by QDateEdit.

When a QDateEdit has its display format set to "yyyy/MM/dd", its day
set to 31 and its month set to 2, it will display 291 as the day until
the cursor is moved or the focus changed. This is because
QDateTimeParser::parse calls sectionSize() for the day section, which
will sometimes return an incorrect size. There are also other display
formats affected by this bug (e.g. long day names).

For example, (in the context of sectionSize()) when text is
"2000/01/31" and displayText() is "2000/2/31", there is a difference
between displayText() and text - text is the previous value and
displayText() is the new value. The size difference is always due to
leading zeroes.

This patch makes QDateTimeParser keep track of the quantity of zeroes
added to each section and then factors this value into the result of
sectionSize() if there is a size difference between text and
displayText().

Task-number: QTBUG-26847
Change-Id: I3823cc41167ec920f742cb6a20d39fc5f433c915
Reviewed-by: Mitch Curtis <mitch.curtis@nokia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
Reviewed-by: aavit <qt_aavit@ovi.com>
12 years agoDoc: Missing documentation added and doc errors fixed.
aavit [Wed, 5 Sep 2012 09:34:16 +0000 (11:34 +0200)]
Doc: Missing documentation added and doc errors fixed.

Change-Id: I573bf9622e38b54f2cb8c32fd402d477a1deb5c2
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
12 years agoDon't use string comparison to figure out how to use the clipboard
Jorgen Lind [Tue, 4 Sep 2012 13:01:54 +0000 (15:01 +0200)]
Don't use string comparison to figure out how to use the clipboard

Change-Id: I36738b3808ebed0d108882ebdc74ee7dd1899bfd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoMove assignment of mousePressed variable in QWidgetTextControl
Jorgen Lind [Tue, 4 Sep 2012 13:03:53 +0000 (15:03 +0200)]
Move assignment of mousePressed variable in QWidgetTextControl

Or else we never hit the path where middle button click pasts selection
on X11. This is also how it worked in Qt 4.

Change-Id: Ia090c465db0e5e8cb249f5d752e0bb86951e2eb0
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agorestore support for QMAKE_LIBDIR_FLAGS
Oswald Buddenhagen [Thu, 30 Aug 2012 14:55:31 +0000 (16:55 +0200)]
restore support for QMAKE_LIBDIR_FLAGS

unexpectedly, this internal variable is documented. grumble.

Change-Id: I272c1f553b56f253d2f59f875de78d5bc279186a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
12 years agobypass configure bootstrap for non-git builds
Oswald Buddenhagen [Thu, 30 Aug 2012 10:37:01 +0000 (12:37 +0200)]
bypass configure bootstrap for non-git builds

Change-Id: Ifa56297db0c5f198080a728f033393ab60eb1b74
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove pretenses of supporting projects on stdin
Oswald Buddenhagen [Tue, 28 Aug 2012 08:12:36 +0000 (10:12 +0200)]
remove pretenses of supporting projects on stdin

this may have worked a decade ago, but now it only produces funny
Makefiles (and needs hacking main.cpp). the feature doesn't seem *too*
important, so just clean it out.

Change-Id: I50a60b0e30341f0b523e4a5731c770c9c1013f8b
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agomake QMakeMetaInfo a little less inefficient with libtool .la files
Oswald Buddenhagen [Wed, 22 Aug 2012 12:10:35 +0000 (14:10 +0200)]
make QMakeMetaInfo a little less inefficient with libtool .la files

don't read the spec from scratch for every library just to get
QMAKE_LFLAGS_RPATH. we can perfectly use our current project for that
purpose.

Change-Id: I4e408b3fd5de81652181df032aa53cd8f2f8f806
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agopre-initialize more invariant properties
Oswald Buddenhagen [Tue, 21 Aug 2012 12:47:08 +0000 (14:47 +0200)]
pre-initialize more invariant properties

Change-Id: I0add2e7ead5a3d63124ef7ff85362895dd64bd23
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove QMAKE_MKSPECS property from qmake -query's view
Oswald Buddenhagen [Tue, 21 Aug 2012 12:36:20 +0000 (14:36 +0200)]
remove QMAKE_MKSPECS property from qmake -query's view

it's a dynamic property which is something between meaningless and
misleading when used outside a project file.
also, experience from creator shows that people would consistently
abuse it (not handling it as the list it is).

Change-Id: Id52cd40da5c38c0c74535d0701fdae53dfa39cad
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoUse true and false in preference to TRUE and FALSE
Sergio Ahumada [Tue, 4 Sep 2012 17:39:07 +0000 (19:39 +0200)]
Use true and false in preference to TRUE and FALSE

The TRUE and FALSE macros are obsolete and should be replaced with
true and false (all lower case) respectively.

Change-Id: Iee352e8173500683e6319be0abbf5bacf29016e0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agotest: Check for null string comparison
Sergio Ahumada [Tue, 4 Sep 2012 18:32:33 +0000 (20:32 +0200)]
test: Check for null string comparison

Do not compare a QString to QString(). Instead use the .isEmpty() method.

Change-Id: I8bb5e64563bf173abe7288bb9e35375bee1fe445
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoOptimize QTextLayout/QTextEngine usage outside of QTextDocument.
Milian Wolff [Mon, 3 Sep 2012 16:06:17 +0000 (18:06 +0200)]
Optimize QTextLayout/QTextEngine usage outside of QTextDocument.

When QTextLayout is used in a QTextDocument, many code paths use
special caches and thus greatly outperform the raw QTextLayout version
that operates directly on a QString.

This patch brings some of these optimizations also to the raw version.
We now also use a QFormatCollection in such cases and enable the
functionality of QTextEngine::indexAdditionalFormats() and
QTextEngine::resolveAdditionalFormats(). Thanks to that, we can greatly
speed up QTextEngine::format(), which now uses an amort O(1) hash table
lookup instead of a O(N) linear search.

The added benchmark shows a gain in the order of one magnitude:

./tst_bench_QText formattedLayout:long-many

before applying the patch:
378.19 msecs per iteration (total: 37,820, iterations: 100)
after applying the patch:
25.80 msecs per iteration (total: 2,580, iterations: 100)

Note: This change is source-incompatible for applications using the private
QTextEngine API.

Task-number: QTBUG-8389
Change-Id: Ifcf7a8902a394428979ea06a6d955f886ee739c7
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoFix Windows platform plugin narrowing conversion compile errors
Jonathan Liu [Tue, 4 Sep 2012 09:40:17 +0000 (19:40 +1000)]
Fix Windows platform plugin narrowing conversion compile errors

Implicit conversions from int to BYTE (unsigned char) result in
compile errors when compiling with the GCC -std=c++0x option.

Change-Id: Iaf8190426207bf15ab4b337300510596d70659ed
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoRemove custom sort implementation in QTriangulator in favour of std::sort.
Robin Burchell [Sun, 2 Sep 2012 09:58:36 +0000 (11:58 +0200)]
Remove custom sort implementation in QTriangulator in favour of std::sort.

qSort has terrible performance, especially on mostly-sorted input, which is
presumably why a custom implementation was created. However, std::sort has much
better performance than qSort in many cases.

Benchmarking shows that std::sort beats out the custom sort by a very narrow
margin (21-22ms for qSort, 14-15ms for sort, 14ms for std::sort) in a simple
benchmark of sorting.

Change-Id: If7e57fdfaf98e741d1621969461537c82f9169fe
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>