profile/ivi/qtbase.git
12 years agoSSL - dump failed certificate chains when debug logging is enabled
Shane Kearns [Fri, 6 Jan 2012 16:50:23 +0000 (16:50 +0000)]
SSL - dump failed certificate chains when debug logging is enabled

This is to help us debug problems with CA certificates.
Code is not compiled by default, only when QtNetwork is built with
QSSLSOCKET_DEBUG defined

Change-Id: I404c36bf4c6bf1190f480196038197be30b4b5f9
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
12 years agoUpdate the lastPosition with the full current position
Allan Sandfeld Jensen [Mon, 9 Jan 2012 11:31:45 +0000 (12:31 +0100)]
Update the lastPosition with the full current position

By only updating parts of the lastPosition the axislock got confused, since the
direction would be calculated from a mix of delta-movement and movements since
touch begin.

Task-Number: QTBUG-23530
Change-Id: I6b886d4819b963aba18bb86154df172070399206
Reviewed-by: Robert Griebl <robert.griebl@nokia.com>
12 years agoMake the meta type shortcut in this test more robust.
Stephen Kelly [Mon, 9 Jan 2012 14:57:00 +0000 (15:57 +0100)]
Make the meta type shortcut in this test more robust.

Change-Id: Ie9f5ea3a62c80b2a4255eda0995133d0471c7538
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
12 years agoRemove QtV8 library from QtBase
Simon Hausmann [Thu, 5 Jan 2012 09:38:10 +0000 (10:38 +0100)]
Remove QtV8 library from QtBase

The QtV8 library is going to live in the qtjsbackend module.

Change-Id: I72251316163829411dda998b9503ce6f75b3606a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoUsing proper virtual functions instead of Q_INVOKABLE tricks.
Jonas M. Gastal [Thu, 22 Dec 2011 15:53:38 +0000 (13:53 -0200)]
Using proper virtual functions instead of Q_INVOKABLE tricks.

This mantains BC between version compiled with and without OPENSSL,
which was the reason for the use of "runtime virtuals". Using proper
virtuals should make code clearer.

Change-Id: I24f141ebaab68c000c2d602b54addbae1679a424
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoMake (dis)connectTo(From)Host virtual in QAbstractSocket.
Jonas M. Gastal [Thu, 29 Dec 2011 14:47:21 +0000 (12:47 -0200)]
Make (dis)connectTo(From)Host virtual in QAbstractSocket.

Change-Id: Ib1dfae4031f00fb331108152a259f6a2756381c9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoAvoid using 'check' in QSharedPointer test.
Stephen Kelly [Mon, 9 Jan 2012 17:50:08 +0000 (18:50 +0100)]
Avoid using 'check' in QSharedPointer test.

Avoids conflict with macro on Mac OS.

Change-Id: Ia8301f52c879d941eece0fa6ae47a4c21d4e6490
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoAdd define for C++11 explict delete methods
Stephen Kelly [Sun, 8 Jan 2012 19:00:14 +0000 (20:00 +0100)]
Add define for C++11 explict delete methods

Change-Id: Ief4b8949acb528dcfc0be725b562ae71bd1640cd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoRename handler/handlerManager.
Stephen Kelly [Sun, 8 Jan 2012 19:37:22 +0000 (20:37 +0100)]
Rename handler/handlerManager.

Change-Id: Idbac004120ea686d403421ea4f2fb4db87f55149
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
12 years agoFix constness of QInputPanel::keyboardRectangle()
Stephen Kelly [Sun, 8 Jan 2012 21:19:36 +0000 (22:19 +0100)]
Fix constness of QInputPanel::keyboardRectangle()

Change-Id: I13552ed0c357b19486f389a8fbf2c338652437c9
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
12 years agoFix constness of QGraphicsSceneBspTreeIndex::bspTreeDepth()
Stephen Kelly [Sun, 8 Jan 2012 21:20:18 +0000 (22:20 +0100)]
Fix constness of QGraphicsSceneBspTreeIndex::bspTreeDepth()

Change-Id: I8298afc9c493a1e9c6e49cc36a97184a50709558
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
12 years agoFix constness of QShortcut::context()
Stephen Kelly [Sun, 8 Jan 2012 21:20:43 +0000 (22:20 +0100)]
Fix constness of QShortcut::context()

Change-Id: Ic819c9b70fb2d6732f3fdc1d151a9adda571211b
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
12 years agoRemove unused function.
Frederik Gladhorn [Wed, 21 Dec 2011 15:10:10 +0000 (16:10 +0100)]
Remove unused function.

Instead this code has been ported to qAccessibleRoleString.

Change-Id: I41dd83d09cbcf2b0de3eb2fa027f24cf070f22a2
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
12 years agoRename private API to avoid conflict with mac OX macros.
Stephen Kelly [Mon, 9 Jan 2012 12:04:37 +0000 (13:04 +0100)]
Rename private API to avoid conflict with mac OX macros.

Mac OS defines the check macro in /usr/include/AssertMacros.h

http://boost.2283326.n4.nabble.com/Boost-with-Darwin-Mac-gcc-4-0-1-td2580330.html

Change-Id: I99789e4dba25e80afd184c44d0781c4ebde46d74
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoImprove Accessibility documentation.
Frederik Gladhorn [Sat, 7 Jan 2012 00:46:07 +0000 (01:46 +0100)]
Improve Accessibility documentation.

Change-Id: Ifb70d9c6d7b3096e0188e8454191786375296647
Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
12 years agoRemove unused touch-related code in QApplicationPrivate header
Laszlo Agocs [Mon, 9 Jan 2012 09:45:54 +0000 (11:45 +0200)]
Remove unused touch-related code in QApplicationPrivate header

For X11 and Windows the touch handling code lives in the platform
plug-ins.  The RX71 code is replaced by the generic evdev touch
support provided by the touchscreen plug-in.

Change-Id: I12c9fd3be8b466565cac7abebbb70805f1e28b5f
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoRemove docs for removed functions.
Frederik Gladhorn [Sat, 7 Jan 2012 01:00:35 +0000 (02:00 +0100)]
Remove docs for removed functions.

Change-Id: I33346d0a2b324afe4b85b1792854b586aa7685ba
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoChange QCocoaEventDispatcher timer handling to use QTimerInfoList
Bradley T. Hughes [Thu, 5 Jan 2012 13:29:15 +0000 (14:29 +0100)]
Change QCocoaEventDispatcher timer handling to use QTimerInfoList

This gives us support for the various Qt::TimerTypes.

We only use one CFRunLoopTimer to drive all of the Qt timers. We update
the time-to-fire for this timer as we add/remove/fire Qt timers. The
documentation for the CFRunLoopTimerSetNextFireDate() function says that
this is a valid use case, and is more performant than constantly adding
and removing CFRunLoopTimers. The documentation recommends using a large
interval for this use case (the docs say "several decades", but we use 1
year).

Change-Id: Ie7fd7a845f4254699a5b6a5720e7626f2c5e787f
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
12 years agoExport QTimerInfoList
Bradley T. Hughes [Thu, 5 Jan 2012 13:12:18 +0000 (14:12 +0100)]
Export QTimerInfoList

... so that QCocoaEventDispatcher can use it to implement timer handling
and benefit from the Qt::TimerType support in QTimerInfoList.

Change-Id: I34b81502465963e2c9d528df463fa2eccd275ad6
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoClean-up the interface for QDate.
Xizhi Zhu [Fri, 6 Jan 2012 15:53:38 +0000 (17:53 +0200)]
Clean-up the interface for QDate.

Four overload functions removed while keeping source compatibility:
 - shortMonthName()
 - shortDayName()
 - longMonthName()
 - longDayName()

Two functions removed since they have confusing names:
 - gregorianToJulian()
 - julianToGregorian()

Change-Id: Iaaea066a3fb77b1ee3499d3049fcec5563054cdf
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: John Layt <jlayt@kde.org>
12 years agoRemove the Q_TYPENAME define.
Stephen Kelly [Fri, 6 Jan 2012 06:33:17 +0000 (07:33 +0100)]
Remove the Q_TYPENAME define.

It is mostly not used (most places in Qt use typename directly), so
is already not very useful.

For example typename is used in:

QDataStream& operator<<(QDataStream& s, const QVector<T>& v)

Change-Id: I85337ad7d8d4ebbb424bfa2ab9a356456ff3e90f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
12 years agoxcb: Fix a memleak when atomName() fails
Uli Schlachter [Sat, 7 Jan 2012 16:28:10 +0000 (17:28 +0100)]
xcb: Fix a memleak when atomName() fails

The only reason for GetAtomName to fail is when an invalid atom is specified, so
the xcb_generic_error_t struct doesn't contain any useful information for us.
Still, we have to free it.

Change-Id: I3da98018b7bfe08a9d7dcd566ed010f5d7b0df73
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoQProcess/Win: direct forwarding of stdout and stderr
Joerg Bornemann [Thu, 5 Jan 2012 17:24:53 +0000 (18:24 +0100)]
QProcess/Win: direct forwarding of stdout and stderr

We are now directly passing the standard out/err handles to
CreateProcess instead of reading the output and writing it.

The downside is, that we cannot automatically forward the process
output of GUI applications anymore.
This behaviour is intended by the CreateProcess API.

Change-Id: Ic6e35c8c338dbea1a9f345567a37d938da1f34a2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoqmake: fix default value for C++ optimization in vcxproj files
Joerg Bornemann [Fri, 6 Jan 2012 15:40:27 +0000 (16:40 +0100)]
qmake: fix default value for C++ optimization in vcxproj files

For the debug configuration the optimization should be turned off.

Task-number: QTBUG-23421

Change-Id: Ib63e0c51f9ab31180ff8ee01a1f6c57ab77e390e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoqmake: fix /MP option for VS 2010
Joerg Bornemann [Fri, 6 Jan 2012 14:30:43 +0000 (15:30 +0100)]
qmake: fix /MP option for VS 2010

Setting QMAKE_CFLAGS+=/MP in a project file did not work for VS 2010.

Task-number: QTBUG-23490

Change-Id: I39c349bf8dc2a4add2f32a430a245a20cc54147e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoDetect autoreapeat in xcb plugin.
Samuel Rødal [Fri, 6 Jan 2012 14:03:24 +0000 (15:03 +0100)]
Detect autoreapeat in xcb plugin.

Until now QKeyEvent::isAutoRepeat() would always return false.

Change-Id: I7771bc7a7ec848ef280f99bada0a26eda188604e
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoMove keyboard locale and input direction to QInputPanel
Pekka Vuorela [Thu, 5 Jan 2012 11:29:23 +0000 (13:29 +0200)]
Move keyboard locale and input direction to QInputPanel

Deprecated QGuiApplication::keyboardInputLocale() and
keyboardInputDirection(), introduced QInputPanel::locale()
and inputDirection().

Change-Id: Ic48c77f10821a949751c73c73f22bd78e2192b9c
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoIntroduced input method hints for latin
Pekka Vuorela [Mon, 2 Jan 2012 14:49:07 +0000 (16:49 +0200)]
Introduced input method hints for latin

On many cases especially latin input is wanted. Hint for these may,
e.g., help virtual keyboards on changing the layout to a western one.
Added a hint for requiring and another for preferring latin based
input.

Change-Id: I0ea79643665e25d9f916c3b8d0b7d7352843c2dc
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoAvoiding crash when insert preEditString
Yuchen Deng [Sat, 31 Dec 2011 11:26:45 +0000 (19:26 +0800)]
Avoiding crash when insert preEditString

We will insert an preEditString by QInputMethodEvent
See:
Task-number: QTCREATORBUG-5633
Task-number: QTCREATORBUG-6082

Change-Id: I8cfc7ab2543455dfdff8ec3df983d384513453e0
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoRemoving QHttp class, its tests and its usage in examples.
Jonas M. Gastal [Thu, 22 Dec 2011 19:42:49 +0000 (17:42 -0200)]
Removing QHttp class, its tests and its usage in examples.

Task-number: QTBUG-22750
Change-Id: I161fad772bfb26797e6ee9d69da925b6747c371f
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoRemove all references to QAccessible:: {Child|Ancestor|Sibling}
Jan-Arve Saether [Thu, 5 Jan 2012 08:51:20 +0000 (09:51 +0100)]
Remove all references to QAccessible:: {Child|Ancestor|Sibling}

These are deprecated in favor of
QAccessibleInterface::child() and QAccessibleInterface::parent()

QAccessible::Sibling can be done with a combination of those two.
This is handled by the bridges, if required.

Change-Id: I2e2a6eb2a982e7c9001a393d69f0c5f1ae9c0970
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
12 years agoFix renewed SSL certificates being incorrectly reported as expired
Shane Kearns [Fri, 6 Jan 2012 16:29:43 +0000 (16:29 +0000)]
Fix renewed SSL certificates being incorrectly reported as expired

OpenSSL tries certificates in the order they are added to the store.
There was logic to add the expired certificates after the valid ones
to ensure the valid certificate is checked first if the OS cert store
contains both the expired and renewed version of the same cert (e.g.
the verisign class 3 cert on windows)

However due to a coding error, the ordering was reversed, ensuring the
problem is always encountered instead of always avoided.

Task-number: QTBUG-20012
Change-Id: I7c8dba8a09842540a22b44d33c7dcb22bbbc6a58
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
12 years agoCopy qbasicatomic.h to qoldbasicatomic.h
Thiago Macieira [Sun, 31 Jul 2011 20:20:09 +0000 (17:20 -0300)]
Copy qbasicatomic.h to qoldbasicatomic.h

Change-Id: I15df58f9dc29189419f8cbc0ce47bf11e9f17cf4
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoWindows: Run on Windows XP.
Friedemann Kleint [Tue, 3 Jan 2012 09:40:32 +0000 (10:40 +0100)]
Windows: Run on Windows XP.

Replace Q_ASSERT() on missing functions from User32.dll by
qFatal() with error message. Do not check "UpdateLayeredWindowIndirect"
as it was introduced with Windows Vista.

Task-number: QTBUG-23351

Change-Id: I0064611351c687f0c3c6e13156dd534b9f7a5d75
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoMake QUuid a class.
Friedemann Kleint [Fri, 6 Jan 2012 12:18:35 +0000 (13:18 +0100)]
Make QUuid a class.

Silence MSVC warnings about forward-declarations as class
in the metatype system.

Change-Id: I676662e5919585e98c87413fd8360d6f41f73631
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
12 years agoAdd roles to the dataChanged slots in views.
Stephen Kelly [Thu, 15 Dec 2011 15:31:21 +0000 (16:31 +0100)]
Add roles to the dataChanged slots in views.

This is a source incompatible change.

This is for consistency with the signal for the lifetime of Qt5. I could
imagine people trying to override a virtual function (in a new class while
using the Qt5 library) with the arguments of
the signal and have that fail due to the arguments not being correct.

It also allows ignoring dataChange events when they are known not to be for roles
which are relevant to particular views or delegates.

Change-Id: Ica191835125c1c8fdaf665debb62d635e81700dc
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoMove the qitemmodel test to the itemmodels directory.
Stephen Kelly [Tue, 3 Jan 2012 20:38:41 +0000 (21:38 +0100)]
Move the qitemmodel test to the itemmodels directory.

Change-Id: I67e1008bea0d94ffbc52aad453a29645261e109e
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoRemove documentation reference to non-existant class.
Stephen Kelly [Fri, 6 Jan 2012 06:42:36 +0000 (07:42 +0100)]
Remove documentation reference to non-existant class.

Change-Id: Idaaf16a9482edaa43e5b2389adc82cad701b1407
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agosplit qprocess_win.cpp into Windows and WinCE parts
Joerg Bornemann [Thu, 8 Dec 2011 10:04:24 +0000 (11:04 +0100)]
split qprocess_win.cpp into Windows and WinCE parts

Change-Id: I7f2cf2c42dd24ca162238e6dc6408ac39dfcd790
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoQTimerInfo::expected is only needed for debugging
Bradley T. Hughes [Thu, 5 Jan 2012 12:56:01 +0000 (13:56 +0100)]
QTimerInfo::expected is only needed for debugging

The code for calculating the expected time is only useful for debugging
purposes. Don't compile this into the library unless QTIMERINFO_DEBUG is
defined.

Change-Id: I6530e6a70410a12544410ef286225df98ceddcee
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoLimit Bezier curve subdivision to maximum 512 line segments.
Kim Motoyoshi Kalland [Fri, 6 Jan 2012 13:11:55 +0000 (14:11 +0100)]
Limit Bezier curve subdivision to maximum 512 line segments.

Avoid running out of time and memory for extreme cases.

Task-number: QTBUG-23443
Change-Id: Iac7799097d61295bb7395a2efe48b3e7d9257919
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoConstify more accessibility interface functions.
Frederik Gladhorn [Thu, 5 Jan 2012 21:42:23 +0000 (22:42 +0100)]
Constify more accessibility interface functions.

Change-Id: Iff8da09eef5288de92ccea753a8a5fda03e214b0
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
12 years agoImage interface functions should be const.
Frederik Gladhorn [Thu, 5 Jan 2012 21:10:20 +0000 (22:10 +0100)]
Image interface functions should be const.

Change-Id: I9c6ecd140abc4f4d5c28ad2228e1241d3891b5ad
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
12 years agoRemove all non-inline of qMalloc/qFree/qRealloc.
Robin Burchell [Tue, 20 Dec 2011 20:39:12 +0000 (21:39 +0100)]
Remove all non-inline of qMalloc/qFree/qRealloc.

We're trying to deprecate these, so don't use them anymore.

The inline uses of these have been left intact, for the moment. Inline code will
need to create their own non-inline allocation methods (for future-proofing to
allow alterations in how e.g. individual containers allocate)

Change-Id: I1071a487c25e95b7bb81a3327b20c5481fb5ed22
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
12 years agoFix documentation.
Frederik Gladhorn [Thu, 5 Jan 2012 21:25:29 +0000 (22:25 +0100)]
Fix documentation.

Change-Id: Id54263f408e29ed3b9d06712e39759485a42b869
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoRemove qdoc for code that no longer exists.
Frederik Gladhorn [Thu, 5 Jan 2012 20:59:04 +0000 (21:59 +0100)]
Remove qdoc for code that no longer exists.

Change-Id: I82d4ba930335a03181aa20c9e4cb060ca8b35b9a
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoRemove docs for functions that no longer exist.
Frederik Gladhorn [Thu, 5 Jan 2012 17:51:52 +0000 (18:51 +0100)]
Remove docs for functions that no longer exist.

Change-Id: Id79d3eeab85b156348054c727ea1897ac3e5842b
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoFix documentation: missing const
Frederik Gladhorn [Thu, 5 Jan 2012 17:29:34 +0000 (18:29 +0100)]
Fix documentation: missing const

Change-Id: Ie90afada6ffe3198314481dd6fc68bce67605efd
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoFix crashing data urls
Simon Hausmann [Fri, 6 Jan 2012 12:22:13 +0000 (13:22 +0100)]
Fix crashing data urls

Commit 231369eb043e9c5221da1a4f2a724643a3f380f3 introduced the use of
QBuffer::setBuffer with a QByteArray that is allocated on the stack,
causing plenty of memory corruption.

This patch replaces the use of setBuffer with setData, which correctly
assigns the QBuffer's buffer instead of just relying on the pointer
passed to setBuffer.

Spotted by Rohan in http://codereview.qt-project.org/#change,11859

Change-Id: I7cdf43d438a2a7864de7c35841b42421c1c60e68
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
12 years agoRemove duplicate fnctl() call.
Robin Burchell [Thu, 5 Jan 2012 17:49:12 +0000 (18:49 +0100)]
Remove duplicate fnctl() call.

QInotifyFileSystemWatcherEngine's constructor calls this, there's no need to do
it twice.

Change-Id: Ic19e758a3f87f2e3a885e5b834f59a5a0fe13f4b
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
12 years agoQNetworkAccessManager: check if networksession is set
Martin Petersson [Fri, 6 Jan 2012 08:51:53 +0000 (09:51 +0100)]
QNetworkAccessManager: check if networksession is set

Need to check that the networkSession has been set so we don't
crash when bearermanagement is enabled.

Task-number: QTBUG-23484
Change-Id: Ifdb71350ba5b4ddbdbd17a8d87189c78c524783e
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
12 years agoAdd a new QT_NO_SSL feature macro.
Richard Moore [Tue, 3 Jan 2012 14:08:03 +0000 (14:08 +0000)]
Add a new QT_NO_SSL feature macro.

At the moment users of Qt must detect if it was compiled with SSL
support by testing for QT_NO_OPENSSL. This means that any code that is
conditionally compiled this way is tied to the presence of the openssl
backend. This commit makes it possible to implement new SSL backends
during the Qt5 lifetime without breaking this code. People can still
test for QT_NO_OPENSSL if they really need openssl, but if they simply
want to know if there's SSL support at all they should use this define
instead.

In addition, this commit changes the public API headers to use the new
define.

Change-Id: Ib57a71aa65836ac9351f120a487bfeb8009d9515
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
12 years agoWindows: Fix compiler warnings in accessibility.
Friedemann Kleint [Fri, 6 Jan 2012 09:02:46 +0000 (10:02 +0100)]
Windows: Fix compiler warnings in accessibility.

Change-Id: Id9ffe1069116f25b89df85337a75dae54b5beec5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Andriy Golovnya <andriy.golovnya@googlemail.com>
12 years agoRemove qttest_p4.prf file
Sergio Ahumada [Wed, 4 Jan 2012 21:21:48 +0000 (22:21 +0100)]
Remove qttest_p4.prf file

qttest_p4.prf was added as a convenience for Qt's own autotests in Qt4.
It enables various crufty undocumented magic, of dubious value.
Stop using it, and explicitly enable the things from it which we want.

Most autotest .pro files should look like this:

  CONFIG += testcase
  TARGET = tst_something
  QT = core testlib
  SOURCES = tst_something.cpp

Change-Id: I051b230c5c4fd56dc6eae2b9b7bdff6c033248fd
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
12 years agoRemove Cursor functions from invokeMethod.
Frederik Gladhorn [Thu, 1 Dec 2011 19:14:48 +0000 (20:14 +0100)]
Remove Cursor functions from invokeMethod.

Cursor position is handled by the text interface.
This was a binary compatibility hack in Qt 4.

Change-Id: I45520e6942a490834f6e9346a4c173300a9bf7a9
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
12 years agoUpdate docs.
Frederik Gladhorn [Thu, 5 Jan 2012 21:01:38 +0000 (22:01 +0100)]
Update docs.

Change-Id: Icd8cbcde6893cc0ee5e7df18b219513cdbc0b2da
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
12 years agoAdded xrender as a dependency to build glxconvenience.
Samuel Rødal [Wed, 4 Jan 2012 13:57:38 +0000 (14:57 +0100)]
Added xrender as a dependency to build glxconvenience.

Prevents build errors when xrender is not present.

Change-Id: Ib80d52109dd0bcd63ba865c5f6e143961f3c20e6
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoRemove redundant class from QStringMatcher test.
Jason McDonald [Fri, 6 Jan 2012 05:44:02 +0000 (15:44 +1000)]
Remove redundant class from QStringMatcher test.

The removed class was evidently attempting to promote protected members
of its base class to public, but the way this was done doesn't work and
doing so wasn't actually necessary for the test.

Change-Id: I15e0c31891da08cacee1054e15596a79a058b466
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoAdd regression test for QTBUG-22660
Sami Rosendahl [Thu, 5 Jan 2012 13:48:12 +0000 (15:48 +0200)]
Add regression test for QTBUG-22660

QHttpNetworkReply crashed in Qt4.7 and 4.8 if a HTTP server responded with
gzip-encoded empty content without defining Content-Length in the response
header. This commit adds the test for the problem as a regression test to
Qt5.

Change-Id: Iddfb970a31d92a66fd1dd524811cf54bb06e5157
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
12 years agoFix memory leak in QDomDocument DTD entity declaration handler
Sami Rosendahl [Thu, 5 Jan 2012 11:56:53 +0000 (13:56 +0200)]
Fix memory leak in QDomDocument DTD entity declaration handler

The created entity node's reference count needs to be decremented to 0
before it is added as a child, because appendChild will increment the
reference count to correct value of 1. Also added autotest DTDEntityDecl
to tst_qdom to expose the leak when executed under valgrind memcheck.
There was no previous direct test case for unparsed entity declarations in
DTD, only indirect coverage via regression test cloneDTD_QTBUG8398.

Task-number: QTBUG-22587
Change-Id: I394ae9fc32d5b84e4ca287c5db4dd7effde6128b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoFix memory leak in QDomDocument DTD notation declaration handler
Sami Rosendahl [Thu, 5 Jan 2012 11:52:39 +0000 (13:52 +0200)]
Fix memory leak in QDomDocument DTD notation declaration handler

The created notation node's reference count needs to be decremented to 0
before it is added as a child, because appendChild will increment the
reference count to correct value of 1. Also added autotest DTDNotationDecl
to tst_qdom to expose the leak when executed under valgrind memcheck.
There was no previous test coverage for the notation declarations in DTD.

Task-number: QTBUG-22588
Change-Id: I876186d1277ceb4414f803b58b62f51cc1474367
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoAdd the roles to the dataChanged slot.
Stephen Kelly [Mon, 2 Jan 2012 16:26:31 +0000 (17:26 +0100)]
Add the roles to the dataChanged slot.

This will allow the possibility of ignoring dataChange signals for roles
which are not interesting to particular widgets.

Change-Id: Ia7dcebd875f7b9fa90aa5e9bff7ef5ca9f381d55
Reviewed-by: David Faure <faure@kde.org>
12 years agoDo not always compile in QTimerInfoList::repairTimers()
Bradley T. Hughes [Thu, 5 Jan 2012 12:45:36 +0000 (13:45 +0100)]
Do not always compile in QTimerInfoList::repairTimers()

This function is never called on systems that are guaranteed to have
a monotonic click (like Mac OS X). Remove the dead code from the
library.

Change-Id: I95852c8dffaa3a9747367f0abe4a4c62e4f86421
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoUse Qt::TimerType on UNIX when scheduling timers
Bradley T. Hughes [Wed, 21 Dec 2011 10:34:07 +0000 (11:34 +0100)]
Use Qt::TimerType on UNIX when scheduling timers

As stated in the documentation for Qt::TimerType, we allow for up to
5% error for CoarseTimers (the default timer type). PreciseTimers are
not adjusted at all, and VeryCoarseTimers fire with one-second accuracy.
The objective is to make most timers wake up at the same time, thereby
reducing CPU wakeups.

Note that this changes makes it possible for timers to fire early, which
may be unexpected for some applications. Such applications should use
PreciseTimers explicitly.

Author: Thiago Macieira <thiago.macieira@nokia.com>
Change-Id: Iaa70314c39a446adbc6dbb6fdfa7bafcd98a7283
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoUse clipboard_timeout instead of hardcoded 5000 (since its the same value)
Albert Astals Cid [Thu, 5 Jan 2012 16:09:57 +0000 (17:09 +0100)]
Use clipboard_timeout instead of hardcoded 5000 (since its the same value)

Change-Id: Ia0edf04e36c8d30394a2bc9a691ab9aa78831f78
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
12 years agoMake socket descriptors qintptr.
Jonas M. Gastal [Thu, 5 Jan 2012 12:38:39 +0000 (10:38 -0200)]
Make socket descriptors qintptr.

Windows x64 uses 64 bits integer for sockets, to ensure compatibility we
should use ptr sized integers for our socket descriptors.

Task-number: QTBUG-19004
Change-Id: I4b56023874a4f1bad107c66c054fecfedde33d88
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoUse explicit Qt::TimerTypes when starting animation timers.
Bradley T. Hughes [Mon, 2 Jan 2012 11:47:15 +0000 (12:47 +0100)]
Use explicit Qt::TimerTypes when starting animation timers.

Similar to commit 4e1ad49998cf782ccc88e7e80fbd05c722658a16, we know that
CoarseTimers are worst in their first firing, so we prefer a
PreciseTimer for short pause animations to avoid inaccuracies. If the
timeout is too big, we use a CoarseTimer anyway (current threshold is
2000ms).

The timer that drives the QDefaultAnimationDriver is always a
PreciseTimer.

Change-Id: I0939357d768b804f9f9bab3adf5ed1d0f7e012e7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoFix compile error with qWarning() << myDateTime and QT_NO_DEBUG_OUTPUT
David Faure [Thu, 22 Dec 2011 12:46:15 +0000 (13:46 +0100)]
Fix compile error with qWarning() << myDateTime and QT_NO_DEBUG_OUTPUT

All QDebug operator << in custom classes were disabled by
QT_NO_DEBUG_STREAM, which was set by QT_NO_DEBUG_OUTPUT.

Now QT_NO_DEBUG_STREAM is never set automatically, but remains available
for reducing the feature set altogether (qconfig.h).

Remove check on QT_NO_TEXTSTREAM: this define is meaningless, it
doesn't even undefine QTextStream, and this is unrelated to QDebug
streaming anyway.

Change-Id: I5eeed0144fa684d0e790e9dfd9a4aeb956218c39
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoFree the replies
Albert Astals Cid [Thu, 5 Jan 2012 12:15:47 +0000 (13:15 +0100)]
Free the replies

Change-Id: I719bd95d94f3bfd41eeb09a49ac3e2701a516619
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoCheck for the clipboard manager when looping due to app quiting
Albert Astals Cid [Thu, 5 Jan 2012 10:11:27 +0000 (11:11 +0100)]
Check for the clipboard manager when looping due to app quiting

One can be extremely unlucky and on session logout get this:
 * All apps are going down
 * A Qt app checks if the clipboard manager is there to yield its clipboard contents
   * The clipboard manager is still there
 * Then just after that check, the clipboard manager finishes because of the session end
 * This means the Qt app will loop for 5 seconds trying to yield its clipboard contents
   to a clipboard manager that is not there anymore

Change-Id: Ia89670d4deb72f12e660a0d7aa5b2d212955d6fe
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoRemove OS X FSEvents watcher.
Robin Burchell [Tue, 3 Jan 2012 20:31:08 +0000 (21:31 +0100)]
Remove OS X FSEvents watcher.

Per QTBUG-9249, this backend is buggy, and not recommended for use by Apple.

Change-Id: I72ce88006a4badbbfdd825717020078778d16a36
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
12 years agoRemoved QApplication::setInputContext()
Pekka Vuorela [Mon, 2 Jan 2012 15:42:00 +0000 (17:42 +0200)]
Removed QApplication::setInputContext()

Obsoleted by platform input context. Setting a custom QInputContext
wouldn't work properly anymore.

Change-Id: I966573a82fdd7530544878513a655eae7b3ad67b
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
12 years agoRemoved Qt::ImhMultiLine
Pekka Vuorela [Mon, 2 Jan 2012 14:21:48 +0000 (16:21 +0200)]
Removed Qt::ImhMultiLine

Multi line information does not really work that well as
input method hint. Application developer is the one setting
value for the hint, and thus would be responsible for
always having right value for multi line.

Change-Id: I6102be95549f6f6d4da40845f52d5c873cd46a47
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoAvoid redefining the lastWindowClosed() signal.
Robin Burchell [Thu, 5 Jan 2012 06:34:55 +0000 (07:34 +0100)]
Avoid redefining the lastWindowClosed() signal.

This prevents things like the following (from qmlviewer):
QMetaObject::indexOfSignal: signal lastWindowClosed() from QGuiApplication redefined in QApplication

Change-Id: I4b30235e379aedaa913ea30f05daac7079f285e9
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoQCocoaEventDispatcherPrivate members should not be static
Bradley T. Hughes [Wed, 4 Jan 2012 10:34:02 +0000 (11:34 +0100)]
QCocoaEventDispatcherPrivate members should not be static

Keep the Cocoa event dispatcher's private data as normal members of
QCocoaEventDispatcherPrivate. This removes the global initializers for
the macTimerHash and cocoaModalSessionStask as well.

To keep timers working, we pass a pointer to the timer's MacTimerInfo
struct to the callback, instead of just the timer id. The MacTimerInfo
needs to keep a pointer back to the QCocoaEventDispatcherPrivate to get
access to the private's members.

Change-Id: Ic3a61e5e1d1d82030735de73cf0b0c70a13c21a4
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
12 years agoCodeCoverage: Remove releaseCoverageTool() function.
Caroline Chao [Tue, 3 Jan 2012 09:26:32 +0000 (10:26 +0100)]
CodeCoverage: Remove releaseCoverageTool() function.

QLibraryPrivate::release() can be called multiple times and it is not
appropriate to unregister and save the executed data for a library there.
The library may still be used when it is released and it seems safer to save
its data only once and probably when the application ends.

Not calling __coveragescanner_unregister_library does not affect the
coverage data. Calling __coveragescanner_register_library at load time
without calling __coveragescanner_unregister_library means the plugin will
stay loaded until the application ends. Removing the call to
releaseCoverageTool() is so acceptable since the data will be saved
when the application exits.

Task-number: QTQAINFRA-416.

Change-Id: I3135d2e203ecacfeff4a5b8ffdcd4d62fbc1db33
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoDocument that QBasicTimer::start(int, QObject*) uses Qt::CoarseTimer
Bradley T. Hughes [Wed, 4 Jan 2012 11:25:36 +0000 (12:25 +0100)]
Document that QBasicTimer::start(int, QObject*) uses Qt::CoarseTimer

Change-Id: I553b33ac7adffb0a4fcdfc14d6e34b4e7a494c4d
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
12 years agoWarn when using QBasicTimer::start() incorrectly
Bradley T. Hughes [Wed, 4 Jan 2012 11:22:33 +0000 (12:22 +0100)]
Warn when using QBasicTimer::start() incorrectly

Previously, QObject::startTimer() would warn when called from
QBasicTimer::start() if there was no event dispatcher for the object's
thread. QBasicTimer::start() should output a similar warning when there
is no event dispatcher for the current thread.

Change-Id: I1152f73216c3551c252a7a6995defebc9e1506c8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
12 years agoUpdate copyright year in license headers.
Jason McDonald [Thu, 5 Jan 2012 04:03:39 +0000 (14:03 +1000)]
Update copyright year in license headers.

Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoFix memory leak in QAbstractItemModel autotest.
Jason McDonald [Wed, 4 Jan 2012 03:29:42 +0000 (13:29 +1000)]
Fix memory leak in QAbstractItemModel autotest.

The test was allocating a new model on the heap each time init() was
invoked, but none of these models were deleted.

Change-Id: Ibe107b2dbc949a5f72940f67c08f4b0f46256c09
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoPrevent QFileInfo test from leaving temporary files behind.
Jason McDonald [Tue, 3 Jan 2012 04:02:47 +0000 (14:02 +1000)]
Prevent QFileInfo test from leaving temporary files behind.

Use a small helper class to ensure that the files created during the
test are removed afterwards, even if the test fails. Also, verify
creation of the files in the body of the test function, not in the
helper, as verifying in the helper won't terminate the test on failure.

Change-Id: I76eff20e54ef6a1ed71d9bbb31e00f41f3d14c38
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoChanged tests: qmake,selftest and lancelot to use QFINDTESTDATA.
Kurt Korbatits [Wed, 4 Jan 2012 02:28:20 +0000 (12:28 +1000)]
Changed tests: qmake,selftest and lancelot to use QFINDTESTDATA.

Changed these tests to use QFINDTESTDATA macro to detect location of testdata.
Checking for a specific file contained in the testdata so as not to be confused by empty directories
created during configure.

Change-Id: Iac2ac6304b6b9ac79e00886025b93ec0af5a8507
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoAdded flag operators for Qt::InputMethodQueries
Pekka Vuorela [Wed, 4 Jan 2012 10:51:30 +0000 (12:51 +0200)]
Added flag operators for Qt::InputMethodQueries

Change-Id: I9e65e81c0a5a9854e28e24315a021371c9170f3f
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
12 years agoRegistered QUuid in the metatype system as a builtin type.
Denis Dzyubenko [Mon, 2 Jan 2012 15:25:17 +0000 (16:25 +0100)]
Registered QUuid in the metatype system as a builtin type.

Change-Id: I6be6129d9f6bf468ba8a5805cfa0f6f79199afb3
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
12 years agoQTextLayout::lineAt() to return invalid line if index is out of bounds
Pekka Vuorela [Tue, 3 Jan 2012 13:07:13 +0000 (15:07 +0200)]
QTextLayout::lineAt() to return invalid line if index is out of bounds

Change-Id: I1f93789c96f3b2335b02897ff5fc8385964d1641
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agoSupport RTL text with merge font engines
Jiang Jiang [Tue, 3 Jan 2012 14:35:32 +0000 (15:35 +0100)]
Support RTL text with merge font engines

Text like Urdu use mixed RTL scripts from Persian, Arabic and so on.
In RTL, sub glyph runs for individual font engines must be added from
end to start, so that the positions can still be calculated in a left
to right manner.

Task-number: QTBUG-23404
Change-Id: I7e55e4b7b858b3abbe94e352c93d36de6226ff58
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agoIntroduced QOpenGLContext::aboutToBeDestroyed() signal.
Samuel Rødal [Wed, 4 Jan 2012 13:17:45 +0000 (14:17 +0100)]
Introduced QOpenGLContext::aboutToBeDestroyed() signal.

This signal can be used to clean up OpenGL resources in a safe way
before the context is destroyed.

Task-number: QTBUG-20083
Change-Id: I45a4be01b06af4ee7196fa502116f099d50afeab
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoFix compiler warnings in QtNetwork.
Friedemann Kleint [Wed, 4 Jan 2012 08:42:07 +0000 (09:42 +0100)]
Fix compiler warnings in QtNetwork.

- Initialization order in QHttpNetworkConnectionChannel
- Potential use of uninitialized value in QNetworkReplyDataImpl

Change-Id: Ia405147ef81a3f1509149349d6b5b01bb078f853
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
12 years agoQApplication: Remove unused variable causing a compiler warning.
Friedemann Kleint [Wed, 4 Jan 2012 14:20:18 +0000 (15:20 +0100)]
QApplication: Remove unused variable causing a compiler warning.

Change-Id: I418ac16a2b3e119569512e38d3f00fb493b769d1
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoRemoved obsolete function QUuid::operator QString()
Denis Dzyubenko [Mon, 2 Jan 2012 15:47:59 +0000 (16:47 +0100)]
Removed obsolete function QUuid::operator QString()

It is a source incompatible change, but I believe it is safe to say that it is
a small change, which doesn't affect many people.

Change-Id: Iad11befe4cca60484cf4e04cd3049c93a4ea5faf
Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoRemove old accessible itemviews code.
Frederik Gladhorn [Thu, 1 Dec 2011 18:49:35 +0000 (19:49 +0100)]
Remove old accessible itemviews code.

We are moving to use IAccessible2.
This code is dead.

Change-Id: Ib1687faeafbec84cfa3b123d6f6398998033d342
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
12 years agoSplit polling watcher out to its own seperate files.
Robin Burchell [Wed, 4 Jan 2012 20:44:35 +0000 (21:44 +0100)]
Split polling watcher out to its own seperate files.

Just helps maintain sanity and clarity a bit.

Change-Id: Iaf00f9ecf2d959afcd8fe18bbca71a403cf9818d
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
12 years agoFix QPainter::drawText with complex brushes
Simon Hausmann [Wed, 4 Jan 2012 15:32:55 +0000 (16:32 +0100)]
Fix QPainter::drawText with complex brushes

Commit d52fd497f60a3c4456994f4f10e9451d611c9ea4 introduced a call path to
QPaintEngineEx::drawStaticTextItem, which has a bug in using the pen's color
instead of the entire brush.

This patch replaces the use of the color with the pen's brush().

Task-number: QTBUG-23450
Change-Id: Ieb3bf352c840ff0d3fb4ac678caf7b13f4f9a8f1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agoPass notification of failure of watches onto the caller.
Robin Burchell [Tue, 27 Dec 2011 21:30:05 +0000 (22:30 +0100)]
Pass notification of failure of watches onto the caller.

This is particularly useful for situations where the user might really want to
be notified about a failure, for instance, in a backup application.

Empty paths are not treated as an error in calling, as the user code cannot
really do anything sensible to handle this error, but empty paths should not be
used.

Change-Id: Iddb44fd39f4e3fac5c3f9f60fb7999e1833280a8
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
12 years agoEmit error if trying to connect while socket is connected or connecting.
Jonas M. Gastal [Tue, 27 Dec 2011 20:00:18 +0000 (18:00 -0200)]
Emit error if trying to connect while socket is connected or connecting.

This applies to both local and abstract sockets.

Task-number: QTBUG-22450
Change-Id: I5c58d68da95ffb6bcde5be510853359b288e5984
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
12 years agoDon't release timer ids in event dispatcher code
Bradley T. Hughes [Tue, 20 Dec 2011 10:38:35 +0000 (11:38 +0100)]
Don't release timer ids in event dispatcher code

3rdparty event dispatchers are impossible to write without using the
internal API QAbstractEventDispatcherPrivate::releaseTimerId(). Fix
this by having each QObject keep track of its own timer ids, and
release them when they are no longer used. As a side effect, this
makes the QObjectData::pendTimer bit unnecessary.

This also removes the QObjectData::inThreadChangeEvent hack that the
event dispatchers used to avoid releasing timer ids when moving timers
to a new thread.

QBasicTimer becomes even more low-level. It cannot use
QObject::startTimer() anymore, since we do not have a way to call
QObject::killTimer() from QBasicTimer::stop(). QBasicTimer uses the
QAbstractEventDispatcher interface directly, and releases the timer id
explicitly as well when stopping the timer.

This change also fixes some rare timer id "leaks" when destroying or
stopping timers after a thread has exited and destroyed its event
dispatcher (the timer ids would never be released when no dispatcher
exists).

Globally destructed QObjects that have running timers may try to release
their timer ids after the timer id freelist has been destroyed. This
commit accomodates such objects by avoiding the null dereference in
QAbstractEventDispatcherPrivate::releaseTimerId().

Change-Id: I2d7cd8221fae441f3cf02b6c0b4bc16063834d00
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
12 years agoFix rare crashes in fontconfig fontdb due to uninitialized variable
Simon Hausmann [Wed, 4 Jan 2012 12:04:58 +0000 (13:04 +0100)]
Fix rare crashes in fontconfig fontdb due to uninitialized variable

Initialize the out variable passed to FcPatternGetString to protect
against the "failure" case. Otherwise the subsequent QString::fromUtf8
is called with an uninitialized pointer.

Change-Id: I31b8b4c366f673609b26eca162334fd8bc9f25d2
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
12 years agoRefactor QVariant handlers.
Jędrzej Nowacki [Tue, 29 Nov 2011 14:42:33 +0000 (15:42 +0100)]
Refactor QVariant handlers.

QVariant implementation is based on delegation to a handler. The handler
has rather simple construction, it is a set of function that implements
a switch statement over known types and redirects calls to a right
method of an encapsulated types instance. Unfortunately after qt
modularization project, it is not easy to use types directly from
different modules, as they can be undefined or completely unaccessible.
Which means that each module has to implement own handler to cooperate
correctly with QVariant. We can suspect that list of modules known to
QVariant will grow and it is not limited to GUI, Widgets and Core,
therefore it would be nice to have an unified, from performance and
source code point of view, way of working with handlers.

This patch is an attempt to cleanup handlers. Keynotes:
- Each handler is working only on types defined in the same module
- Core handler implements handling of primitive types too
- Custom types have an own handler
- Each handler is independent which means that dispatch between handlers
  is done on QVariant level
- Handlers might be registered / unregistered using same interface

Change-Id: Ib096df65e2c4ce464bc7a684aade5af7d1264c24
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoconfigure: Remove -nokia-developer option
Kai Koehne [Tue, 3 Jan 2012 15:01:40 +0000 (16:01 +0100)]
configure: Remove -nokia-developer option

There's no good reason to still differentiate between 'Nokia' developers,
and Qt developers outside of Nokia, inside configure. Just use
-developer-build -opensource -confirm-license.

Change-Id: I8726947dae0c70412eb52bf9d88eda4aa061ef26
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
12 years agoExport QOpenGLTextureCache
Jørgen [Mon, 2 Jan 2012 09:20:14 +0000 (10:20 +0100)]
Export QOpenGLTextureCache

because it can be useful outside QtGui. The function
QOpenGLTextureCache::bindTexture gives a very convenient way to get a
texture from an image.

Change-Id: I2e22c0a3a8f1f307d0b558280043f726e3d8093a
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>