profile/ivi/qtbase.git
12 years agoRevert "Fix transformation in eglfs backingstore"
Jon Trulson [Tue, 28 Aug 2012 17:54:05 +0000 (11:54 -0600)]
Revert "Fix transformation in eglfs backingstore"

This reverts commit 12491f35bbea7008b15fb0ba0ee7ea5bf6eb6b6c.

This change is not needed on eglfs.  It causes widget based apps to be
rendered with Y inverted.

Change-Id: Idb23fa22c438442b81882b64bf84d6aa0662d27b
Reviewed-by: Laszlo Agocs <lagocs83@gmail.com>
12 years agowrap the implementation with NO_SETTINGS macro
Jing Bai [Tue, 28 Aug 2012 14:02:28 +0000 (16:02 +0200)]
wrap the implementation with NO_SETTINGS macro

To fix a compile issue where the header is wrapped but the
implementation is not.

Change-Id: I9d4e30a251e9f5de71710eb6bf784fb2eb396698
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agodocumentation: grammar nitpick
Mark Brand [Wed, 29 Aug 2012 09:00:13 +0000 (11:00 +0200)]
documentation: grammar nitpick

Change-Id: Ibf16731f04f2c53adeff1b8b1fcc6f1555e3613d
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Bill King <bill.king@nokia.com>
12 years agoDrawing fix for overlay scrollbars on Mac.
Christoph Schleifenbaum [Thu, 23 Aug 2012 16:36:57 +0000 (18:36 +0200)]
Drawing fix for overlay scrollbars on Mac.

A wrong check lead to a scrollbar with value 0 never been draw. This is
the fix for it. Instead is has to be checked for a length of 0.

Change-Id: I0c4e2f7e0014074e3c22554bcbea0ebfc3122952
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
12 years agoqplatformclipboard.h does not need qplatformdefs.h, so remove
Thiago Macieira [Tue, 28 Aug 2012 10:58:50 +0000 (12:58 +0200)]
qplatformclipboard.h does not need qplatformdefs.h, so remove

It's not using anything from the qplatformdefs.h header in the public
API (and it shouldn't, since qplatformdefs.h can change) nor in inline
functions, so there's no need to include it here.

Include qglobal.h, which includes qconfig.h, which is where the
QT_NO_CLIPBOARD define will be, if anywhere.

Change-Id: I913db9aface297e75f91b6346c0dc48439d7d1f6
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
12 years agoUse qualified name for QT_MOC_EXPORT_PLUGIN()
Lukas Geyer [Tue, 28 Aug 2012 09:45:08 +0000 (11:45 +0200)]
Use qualified name for QT_MOC_EXPORT_PLUGIN()

Using non-qualified name for QT_MOC_EXPORT_PLUGIN() breaks template
instatiation for QPointer<T>::operator=(T*) in qt_plugin_instance()
when the class is embedded a namespace with the same name.

namespace Test {

class Test : public QObject
{
    Q_OBJECT
    Q_PLUGIN_METADATA(IID "Test")

public:
    Test(QObject *parent = 0) : QObject(parent) {}
};

} // namespace Test

In function 'QObject* qt_plugin_instance()':
 error: expected type-specifier before 'Test'
 error: no match for 'operator=' in
        '_instance = (int*)operator new(4u)'
 note: candidates are:
 In file included from qtbase\include\QtCore/qpointer.h:1:0,
                  from qtbase\include\QtCore/QtCore:68,
                  from test.cpp:1:
  qtbase/src/corelib/kernel/qpointer.h:87:25:
   note: QPointer<T>& QPointer<T>::operator=(T*) [with T = QObject]
  qtbase/src/corelib/kernel/qpointer.h:87:25:
   note:   no known conversion for argument 1
           from 'int*' to 'QObject*'
  qtbase/src/corelib/kernel/qpointer.h:79:7:
   note: QPointer<QObject>&
         QPointer<QObject>::operator=(const QPointer<QObject>&)
  qtbase/src/corelib/kernel/qpointer.h:79:7:
   note:   no known conversion for argument 1
           from 'int*' to 'const QPointer<QObject>&'
 error: expected ';' before 'Test'

Change-Id: Idd3e57ab1c888352ad2a8e8f6efca75d858089df
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoHarfbuzz: fix build with NO_OPENTYPE macro defined
Konstantin Ritt [Sat, 25 Aug 2012 21:24:54 +0000 (00:24 +0300)]
Harfbuzz: fix build with NO_OPENTYPE macro defined

Remove `DEFINES += QT_NO_OPENTYPE` since there are no QT_NO_OPENTYPE guards
and I'm not sure defining NO_OPENTYPE won't break some things.

Change-Id: I7b36d3f200408aee99db73c56baa9b4a21cb54f9
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoPlugin metadata is now updated in setFileName(), not load().
Lukas Geyer [Fri, 24 Aug 2012 23:06:39 +0000 (01:06 +0200)]
Plugin metadata is now updated in setFileName(), not load().

Plugin metadata has been updated in load(), with the
side-effect of metadata not beeing available until
plugin has been loaded - and which the new metadata
system tries to prevent in the first place. The
metadata is now updated (and avaiable) as soon as
a valid filename is set.

Change-Id: Ia5aedc67d8115e71c2ecbcbcadf786ba1c2893d8
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoRemoved extra detach calls from QJsonArray::takeAt
Denis Dzyubenko [Wed, 6 Jun 2012 09:43:26 +0000 (11:43 +0200)]
Removed extra detach calls from QJsonArray::takeAt

Change-Id: I5711ec6b03e3979eca61f62004a7c6f0eaae79e0
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoFix missing cleanup of native Cocoa menus.
James Turner [Tue, 28 Aug 2012 11:42:42 +0000 (12:42 +0100)]
Fix missing cleanup of native Cocoa menus.

QCocoaMenu was missing a destructor to release various native resources,
and this causes issues with pop-up menus when the Qt peers are recycled on successive shows of the same menu.

Task-number: QTBUG-27022
Change-Id: I3cdf979804358ce10fe8a87c9e2c90419c6e0b48
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoFix warning when compliling with -Wconversion.
Frederik Gladhorn [Mon, 27 Aug 2012 13:36:04 +0000 (15:36 +0200)]
Fix warning when compliling with -Wconversion.

Change-Id: I90bf9f9a1860cabb67bc92599e7ccce94496d134
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoFix doc errors.
Frederik Gladhorn [Mon, 27 Aug 2012 11:43:12 +0000 (13:43 +0200)]
Fix doc errors.

Change-Id: I38d01d3b5d2b9b15edd389ea17142bd75f00e135
Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
12 years agoMove address book example images to proper location.
Frederik Gladhorn [Fri, 24 Aug 2012 22:49:21 +0000 (00:49 +0200)]
Move address book example images to proper location.

Change-Id: Ib106445c7a68fb1a1fd2d2c6d568681d83b712c9
Reviewed-by: Martin Smith <martin.smith@nokia.com>
12 years agoAdd missing examples from doc repo.
Frederik Gladhorn [Fri, 24 Aug 2012 22:43:49 +0000 (00:43 +0200)]
Add missing examples from doc repo.

Change-Id: I145ae05a5e7348740f858bd2bdcb8d21d7a90d22
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agodoc: fix links
Frederik Gladhorn [Fri, 24 Aug 2012 22:35:48 +0000 (00:35 +0200)]
doc: fix links

Change-Id: Ifb6363e35c5317b6b1d9fd5e53079b30753f0666
Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
12 years agoFix qdoc link.
Frederik Gladhorn [Fri, 24 Aug 2012 22:11:28 +0000 (00:11 +0200)]
Fix qdoc link.

Change-Id: I65e58351737b5628ac8c5dfe36a14b898076d690
Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
12 years agoQSharedPointer: make QT_SHAREDPOINTER_TRACK_POINTERS work with QObjects
Giuseppe D'Angelo [Thu, 16 Aug 2012 15:49:38 +0000 (16:49 +0100)]
QSharedPointer: make QT_SHAREDPOINTER_TRACK_POINTERS work with QObjects

If setQObjectShared crashes because a QObject is tracked by two
different QSharedPointers, we lose the debug feature offered by #defining
QT_SHAREDPOINTER_TRACK_POINTERS, as the check done by this define
happens after the setQObjectShared call.

Therefore, move setQObjectShared after the internalSafetyCheckAdd call.

This is actually a noop change in 5.0, as setQObjectShared does nothing.
However it prevents a bug in case the Qt 4 behaviour is brought back
in some later version.

Change-Id: I71340d0f878828354537762d01c46d441efc918c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoDon't attempt to test DBus on QNX.
Stephen Kelly [Tue, 28 Aug 2012 08:14:58 +0000 (10:14 +0200)]
Don't attempt to test DBus on QNX.

It is not expected to be there currently.

Change-Id: I9e0ece35b8064ecb7cb24e55604ea78c9e6ab242
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
12 years agoForward the CMAKE_TOOLCHAIN_FILE to tests.
Stephen Kelly [Tue, 28 Aug 2012 08:13:09 +0000 (10:13 +0200)]
Forward the CMAKE_TOOLCHAIN_FILE to tests.

A Toolchain file must be supplied to cmake to cross compile. Forward
that to tests so that they can be built too.

Change-Id: Ie15190ff1d1f554ce436b7cb4d37a177a7e17e56
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
12 years agoFind example images for widget docs.
Frederik Gladhorn [Fri, 24 Aug 2012 21:33:41 +0000 (23:33 +0200)]
Find example images for widget docs.

Change-Id: I958031b3ececa953c73d7792900f271f4a19803e
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agodoc: remove links to Qt Designer
Frederik Gladhorn [Fri, 24 Aug 2012 21:17:13 +0000 (23:17 +0200)]
doc: remove links to Qt Designer

Designer is in the tools repo, we cannot link there.
Mentioning the name should be good enough.

Change-Id: I55193aa31e60ae266a8890f706c332a63ed3610d
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoAdd graphicsview documentation overview.
Frederik Gladhorn [Fri, 24 Aug 2012 21:04:26 +0000 (23:04 +0200)]
Add graphicsview documentation overview.

This was removed from the docs repo and not re-added in qtbase.
(change id for removal: Id1a65f07f4687465499fc5666bb1ad710914fabd)

Change-Id: Ifb403757884114c00e64d713f65af5178dcb5d4b
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
12 years agoFix qdoc errors in PrinterInfo.
Frederik Gladhorn [Fri, 17 Aug 2012 13:15:07 +0000 (15:15 +0200)]
Fix qdoc errors in PrinterInfo.

Document parameter and associate comment with function by removing newline.

Change-Id: Ib4bb07c325144ef3501aea81d9e49e09b007387d
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
12 years agobeautify string operations
Oswald Buddenhagen [Mon, 20 Aug 2012 12:33:08 +0000 (14:33 +0200)]
beautify string operations

Change-Id: I895a1ae26ee0c884c404bf585261d1a7e8a8242c
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
12 years agomicro-optimize: use POD-initializable lists of variable names
Oswald Buddenhagen [Mon, 20 Aug 2012 11:04:39 +0000 (13:04 +0200)]
micro-optimize: use POD-initializable lists of variable names

Change-Id: I3732fef509b358949ef90002dbfc1960360afef8
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
12 years agoremove unused checkMultipleDefinition()
Oswald Buddenhagen [Fri, 17 Aug 2012 09:11:48 +0000 (11:11 +0200)]
remove unused checkMultipleDefinition()

Change-Id: I533c2091333942f145063ad04f4420b7a2de0a37
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
12 years agoremove dead variable assignments
Oswald Buddenhagen [Mon, 20 Aug 2012 14:08:09 +0000 (16:08 +0200)]
remove dead variable assignments

Change-Id: I032e9116ca1b7250497f56ea26103f2173f0fc09
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agode-duplicate code
Oswald Buddenhagen [Mon, 27 Aug 2012 06:44:39 +0000 (08:44 +0200)]
de-duplicate code

Change-Id: Ic3f2bfeb5a16da86b1cd471b55dfc79f12dfadee
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agocmake: use .exe suffix only on Windows
Peter Kümmel [Mon, 27 Aug 2012 17:56:04 +0000 (19:56 +0200)]
cmake: use .exe suffix only on Windows

Change-Id: I36ba61bd4690de0bfe4a44e579eb554c82b53bb4
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoFix CMake file INSTALLS with debug_and_release configurations.
Stephen Kelly [Mon, 27 Aug 2012 17:56:04 +0000 (19:56 +0200)]
Fix CMake file INSTALLS with debug_and_release configurations.

Change-Id: Iad0161969e3632862102703fcc239358387e2181
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Peter Kümmel <syntheticpp@gmx.net>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
12 years agoAdd automatic metatype registration for invokable methods.
Stephen Kelly [Sat, 18 Aug 2012 11:05:16 +0000 (13:05 +0200)]
Add automatic metatype registration for invokable methods.

This works similarly to the automatic registration for Q_PROPERTY types,
but in this case it mostly affects the need for users to
call qRegisterMetaType<T>() before using queued connections
with methods using non-built-in metatypes, or before using invokeMethod
manually.

Change-Id: Ib17d0606b77b0130624b6a88b57c36d26e97d12d
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoAdd automatic metatype registration for Q_PROPERTY types.
Stephen Kelly [Thu, 16 Aug 2012 00:19:56 +0000 (02:19 +0200)]
Add automatic metatype registration for Q_PROPERTY types.

In Qt 4, the user needs to call qRegisterMetaType if the property
could otherwise be read before the type is registered with the metatype
system. This patch makes that unnecessary and automatic by registering
it when the first read indicates that it is not yet registered instead
or when QMetaProperty::userType is called before it is registered.

The types which are automatically registered exclude the built-in
types, which do not need to be registered, and include metatypes which
are automatically declared, such as pointers to QObject derived types
and containers of existing metatypes.

Change-Id: I0a06d8efdcb64121618e2378366d0142fa0771f5
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoHandle invalid dates properly for QDataStream versions < 5.
Mitch Curtis [Tue, 28 Aug 2012 16:00:24 +0000 (18:00 +0200)]
Handle invalid dates properly for QDataStream versions < 5.

In Qt 5, when streaming an invalid QDate using a QDataStream version
earlier than Qt_5_0, QDate.jd is written and read as 0, which is an
invalid julian day for Qt versions earlier than 5.0. For Qt 5.0
however, 0 is a valid julian day, so when comparing a deserialised
invalid date (read using a QDataStream version < Qt_5_0) against a
default-constructed invalid date, they won't compare equal when they
should.

Task-number: QTBUG-26989

Change-Id: Ia76df493471f3b068c7d7187be20e3178eff2cc7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoFix some warnings in tests.
Friedemann Kleint [Mon, 27 Aug 2012 07:27:04 +0000 (09:27 +0200)]
Fix some warnings in tests.

- Unused variables
- Signed/Unsigned comparisons.

Change-Id: I0f4cc92a8366ad501d703d19c3358ac24db47270
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
12 years agoRemove automatic drive letter lowercasing from Option::fixString() v5.0.0-beta1
Miikka Heikkinen [Fri, 24 Aug 2012 11:24:12 +0000 (14:24 +0300)]
Remove automatic drive letter lowercasing from Option::fixString()

This enforced lowercasing causes subtle errors, like changing the
drive letter case when doing $$files(), which makes it difficult
to do any string matching against the result later.

Task-number: QTBUG-26985
Change-Id: I4973e3ac3e851e24af944295edf290cc98f02fb6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoDeprecate qWaitForWindowShown QWidget* overload since 5.0.
Stephen Kelly [Wed, 22 Aug 2012 09:53:26 +0000 (11:53 +0200)]
Deprecate qWaitForWindowShown QWidget* overload since 5.0.

It is already documented as deprecated in 5.0, so marking it as deprecated
since 6.0 is silly.

Change-Id: If72cc81bdad18c907022c48b9aa8e7d87eb88e59
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoMake it possible to use static builds of Qt with CMake.
Stephen Kelly [Tue, 21 Aug 2012 11:12:57 +0000 (13:12 +0200)]
Make it possible to use static builds of Qt with CMake.

Parse the prl files generated by qmake to get the link dependencies. They
contain all the information we need, and they are the only location with
all the right information.

Change-Id: Id9dcc988f20a744297502eff008de085326cdbcf
Reviewed-by: Brad King <brad.king@kitware.com>
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
12 years agocmake: define QT_NO_DEBUG in client release builds
Peter Kümmel [Mon, 27 Aug 2012 10:54:34 +0000 (12:54 +0200)]
cmake: define QT_NO_DEBUG in client release builds

Change-Id: Ife224bf908c5e9bc1e62a830a3750de88a082eb7
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
12 years agoAdd some error checking to the qt5_use_modules function.
Stephen Kelly [Mon, 27 Aug 2012 12:02:12 +0000 (14:02 +0200)]
Add some error checking to the qt5_use_modules function.

Change-Id: I8fa2f10edbee1080646324c0689b23eda44aa75d
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
12 years agoFix plugin docs regarding location of json files.
Stephen Kelly [Mon, 27 Aug 2012 12:09:02 +0000 (14:09 +0200)]
Fix plugin docs regarding location of json files.

The commit 2ef52ca12416baa96feb64e02186aae04f883a12 introduced
an error regarding where the json file must reside.

Change-Id: I296c93abebb3e9f8c9e7e29a4a433201064969f0
Reviewed-by: Peter Kümmel <syntheticpp@gmx.net>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agodoc: key -> uicontrol
Frederik Gladhorn [Fri, 24 Aug 2012 22:35:00 +0000 (00:35 +0200)]
doc: key -> uicontrol

Change-Id: I42e5e2dc2d7cf7030ee9bc7dfa97ddaa66958370
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoqcompilerdetection.h: set Q_DECL_OVERRIDE/Q_DECL_FINAL for 2005 <= MSVC <= 2010
Marc Mutz [Tue, 10 Jul 2012 12:52:20 +0000 (14:52 +0200)]
qcompilerdetection.h: set Q_DECL_OVERRIDE/Q_DECL_FINAL for 2005 <= MSVC <= 2010

This enables Q_DECL_FINAL and Q_DECL_OVERRIDE backed by VC's
non-standard extensions from VC 2005 on. VC 2012 will support
the standard-compliant version, so use that there.

Change-Id: I96874fe3d36fcaa283d2d1f53d5eb6825e55f259
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoMake letter spacing APIs in QTextFormat more consistent
Eskil Abrahamsen Blomfeldt [Fri, 24 Aug 2012 08:39:37 +0000 (10:39 +0200)]
Make letter spacing APIs in QTextFormat more consistent

Change d060b6f04f956ab3a6358f826dc6928b3353f5f7 introduced some
new properties to QTextFormat which were unfinished and did not
match the documentation in the same change. I've updated the API
and docs to use the regular QFont enum for letter spacing type
instead of introducing bools (which inhibits expansions later)
or mutually exclusive properties in the text format.

Change-Id: Ife44993b6746c413e421fdaf92ebaaab6ba95977
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoQNX: Enable pre-compiled header support for QNX
Sean Harmer [Fri, 24 Aug 2012 14:14:20 +0000 (15:14 +0100)]
QNX: Enable pre-compiled header support for QNX

Change-Id: I6af69965b19c5d0d7a46de8000433bc5f1f2abcb
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoEnable symbol visibility support on QNX
Sean Harmer [Fri, 24 Aug 2012 13:31:20 +0000 (14:31 +0100)]
Enable symbol visibility support on QNX

Change-Id: Ie6015f87976cf16e0474dfa66da885ef24738f6c
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoRemove mentioning of Phonon.
Frederik Gladhorn [Fri, 24 Aug 2012 21:23:28 +0000 (23:23 +0200)]
Remove mentioning of Phonon.

Change-Id: I78ce6d42ee043a35b520bf8567a1874cf8e2e43e
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
12 years agodoc: clean up model view overview links
Frederik Gladhorn [Fri, 24 Aug 2012 22:12:11 +0000 (00:12 +0200)]
doc: clean up model view overview links

Change-Id: I4aaf0cb254ffa4c7369e51b35af0226c98ec293c
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
12 years agoFix limitting shortcuts to keypad only
Jani Honkonen [Mon, 6 Aug 2012 09:02:51 +0000 (12:02 +0300)]
Fix limitting shortcuts to keypad only

The Qt::KeypadModifier modifier is internally masked away from all
shortcuts. So it is not possible to set a keypad only shortcut.
Changed the implementation so that first a full keysequence match is
searched. Then if no match is found the same sequence is tried
without the keypad modifer.

Added a autotest for this also to cover the basic use cases relating
to this.

Task-number: QTBUG-20191

Change-Id: Ibe7740c705fd0ab1eece4809b9a0b48882172933
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
12 years agoUpdate Q_PLUGIN_METADATA docu.
Peter Kümmel [Sun, 26 Aug 2012 18:37:28 +0000 (20:37 +0200)]
Update Q_PLUGIN_METADATA docu.

Change-Id: I7e451a15de392552609ef549118600684429e0ea
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoQMetaTypeId: optimize qt_metatype_id() in special cases
Marc Mutz [Fri, 24 Aug 2012 10:40:20 +0000 (12:40 +0200)]
QMetaTypeId: optimize qt_metatype_id() in special cases

Same change as for Q_DECLARE_METATYPE, but in the container and
smart pointer specialisations of it.

Change-Id: If9390ccc43eb3b07122f5ea5b8094139b5e1ded0
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoQMetaTypeId: optimize qt_metatype_id()
Marc Mutz [Fri, 24 Aug 2012 10:40:20 +0000 (12:40 +0200)]
QMetaTypeId: optimize qt_metatype_id()

The old code resulted in one memory fetch for the test plus another one
for the return value (at the assembler level). The new code reuses the
already-loaded value:

-       movl    _ZZN11QMetaTypeIdI12QDBusMessageE14qt_metatype_idEvE11metatype_id(%rip), %edx
-       testl   %edx, %edx
-       je      .L158
        movl    _ZZN11QMetaTypeIdI12QDBusMessageE14qt_metatype_idEvE11metatype_id(%rip), %eax
-       ret
+       testl   %eax, %eax
+       je      .L160
+       rep; ret

It also saves one load in the not-yet-initialised case:

-.L158:
+.L160:
        leaq    .LC7(%rip), %rdi
        subq    , %rsp
        .cfi_def_cfa_offset 16
        movq    himBH1, %rsi
        call    _Z17qRegisterMetaTypeI12QDBusMessageEiPKcPT_
        movl    %eax, _ZZN11QMetaTypeIdI12QDBusMessageE14qt_metatype_idEvE11metatype_id(%rip)
-       movl    _ZZN11QMetaTypeIdI12QDBusMessageE14qt_metatype_idEvE11metatype_id(%rip), %eax
        addq    , %rsp
        .cfi_def_cfa_offset 8
        ret

Change-Id: I769950449822f2b1587680e05518be0a4f3120a2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoQSlotObjectBase: make 'impl' and 'ref' private
Marc Mutz [Mon, 20 Aug 2012 13:52:19 +0000 (15:52 +0200)]
QSlotObjectBase: make 'impl' and 'ref' private

This allows to fold the deref() and the destroy() operations into one,
destroyIfLastRef().

The member variables were renamed since there's now a member function
of the same name (ref()).

Change-Id: Ib94416d9e658065bbf5d3711ecafaf0eb063af17
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoQSlotObjectBase: make Operation enum protected
Marc Mutz [Fri, 17 Aug 2012 14:13:19 +0000 (16:13 +0200)]
QSlotObjectBase: make Operation enum protected

We don't want people to go and call through the function pointer
directly.

Change-Id: I386645239974f008d513eaa62593c1141b294b60
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoQSlotObjectBase: remove misleading comment
Marc Mutz [Mon, 20 Aug 2012 13:17:54 +0000 (15:17 +0200)]
QSlotObjectBase: remove misleading comment

These constructors might not benefit from being constexpr (as the objects are
only created on the heap), so don't suggest so. There's no disadvantage of them
begin constexpr, but their constexpr'ability depends on whether QAtomic has
a constexpr constructor, and the added complexity of finding that out isn't
worth it.

Change-Id: I089a29dcb98ba935c339dce09d71f283522a9afd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agomoc: test slots marked final/override in various ways
Marc Mutz [Tue, 10 Jul 2012 16:08:18 +0000 (18:08 +0200)]
moc: test slots marked final/override in various ways

While writing the test, I found that moc doesn't yet support
volatile slots. I left the tests in, commented, for a time
when it does.

Change-Id: Ib5fa00b25600618aedcc66739630054f3c879b99
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agomoc: parse classes that use Q_DECL_FINAL|final|sealed
Marc Mutz [Mon, 5 Mar 2012 16:55:59 +0000 (17:55 +0100)]
moc: parse classes that use Q_DECL_FINAL|final|sealed

This only works with the C++11 contextual keyword
directly, the MSVC equivalent 'sealed', or the Qt
define for it.

While this isn't a problem for syncqt, being an
internal tool, moc should eventually be able to parse
user code using local C++11-final-wrapping macros.
For this, I guess moc would have to be taught to
expand macros in code and not just test #if clauses,
potentially driven by something like
  #pragma qt-moc expand-this
  #define MY_FINAL_CLASS final
but that's something for someone more intimately
familiar with moc's source than I am.

Change-Id: Id6aec961a881e8d5a9b76a7fc8e1c02c71913f64
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agosyncqt: parse classes that use Q_DECL_FINAL|final|sealed
Marc Mutz [Sun, 26 Feb 2012 08:34:36 +0000 (09:34 +0100)]
syncqt: parse classes that use Q_DECL_FINAL|final|sealed

I've introduced a variable $post_kw (post-class-keywords) that
contains the patterns which are expected after a class name.
This variable is used both for a negative look-ahead assertion
in the class-name capture (so the regex doesn't parse the
keywords as the class-name), as well as to carry the parser
over the keywords into the subclass clauses.

Change-Id: Ia534ca01a511e1c773d007f1b0b4f448e8d009d0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoQtGlobal: document Q_DECL_FINAL and Q_DECL_OVERRIDE
Marc Mutz [Tue, 10 Jul 2012 13:30:06 +0000 (15:30 +0200)]
QtGlobal: document Q_DECL_FINAL and Q_DECL_OVERRIDE

Change-Id: I9b292ae3319c30ad878aade4416fb88155465a54
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoQtGlobal: remove Q_DECL_FINAL_CLASS
Marc Mutz [Tue, 10 Jul 2012 13:29:22 +0000 (15:29 +0200)]
QtGlobal: remove Q_DECL_FINAL_CLASS

Now that qvariant_p.h's HasIsNullMethod check is fixed
so that it doesn't require Q_COMPILER_DECLTYPE anymore
to be able to deal with final classes, there's no point
in distinguishing Q_DECL_FINAL and Q_DECL_FINAL_CLASS
anymore, so remove the latter.

Change-Id: I31de5b63e7d2e44171a13e928997c946d93e05c9
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoQVariant: make the HasIsNullMethod check work across all compilers (maybe)
Marc Mutz [Tue, 10 Jul 2012 13:27:48 +0000 (15:27 +0200)]
QVariant: make the HasIsNullMethod check work across all compilers (maybe)

Currently, we have a C++11 version that requires Q_COMPILER_DECLTYPE
support, and can deal with final classes, and a C++98 version that
doesn't require any C++11 features, but fails on final classes.

What we're missing is a version that works for MSVC v8 and v9
(2005 and 2008), which sport the 'sealed' non-standard keywords
but lack decltype support. So far, we tried to solve the problem
by making class-level final special (Q_DECL_FINAL_CLASS), not
defining that macro for these two compilers, even though we did
define Q_DECL_FINAL, the method-level keyword.

This new formulation, taken from
  http://stackoverflow.com/a/9655327/134841
supposedly supports all compilers with a minor #ifdef for
MSVC which doesn't like applying sizeof() the way we do.

However, testing has shown this to blow up on OSX.

So we use the less intrusive approach: add this variant as
a third version, only used by VC 2005 and 2008.

Change-Id: If1945f8a6e9ed36cb68212fa781d5e29eb2a082d
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoqcompilerdetection.h: add MSVC 2012 features
Marc Mutz [Tue, 10 Jul 2012 12:44:15 +0000 (14:44 +0200)]
qcompilerdetection.h: add MSVC 2012 features

These are taken from the table at
  http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx

Change-Id: Ifd2f88ca5d92092a6a025bef3da36fde0a802a66
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoqcompilerdetection.h: stream-line MSVC feature detection
Marc Mutz [Tue, 10 Jul 2012 12:36:13 +0000 (14:36 +0200)]
qcompilerdetection.h: stream-line MSVC feature detection

Reformat the MSVC feature detection to be similar to other compilers, ie.

1. Inside the C++11 features section instead of where the compilers
   are detected
2. In one block for the compiler, with sub-blocks for the version.

However, it's now not 100% compatible with the previous version,
since Q_CC_INTEL is now explicitly excluded while before it was
implicitly included in the MSVC case. I have no idea whether
that matters, since Q_CC_INTEL is handled for itself further up
already.

Change-Id: Id9e8da0a5394ad5643bcb29493f14bc6e8264c13
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoSmall optimisation to recursive mutexes
Thiago Macieira [Wed, 15 Aug 2012 20:37:42 +0000 (22:37 +0200)]
Small optimisation to recursive mutexes

A recursive mutex operates on top of a non-recursive mutex. Therefore,
we can bypass the test for recursive.

The end result is simply that the compiler can inline the locking and
unlocking a little better inside the lock() and unlock() functions

Change-Id: Ic06d1344ccd411c22cbdef74536f3a4d368d75d7
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoblockSignals should block QML signal emission.
Michael Brasser [Mon, 6 Aug 2012 01:52:29 +0000 (11:52 +1000)]
blockSignals should block QML signal emission.

Change-Id: Ief35f3ca326173a87240e3cb558e47f721bd04b7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoQUrl: port thread-safety autotest from Qt4.
David Faure [Fri, 13 Jul 2012 22:53:38 +0000 (00:53 +0200)]
QUrl: port thread-safety autotest from Qt4.

This detected the same missing detach()s in QUrl::resolve.
Everything else works, no need for a mutex in Qt5's QUrl.

Change-Id: I0da51b7b0c6b810d314a26d4b638383cd17de12b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoQFileSystemModel: remove incorrect #ifndef
Marc Mutz [Tue, 7 Aug 2012 17:46:38 +0000 (19:46 +0200)]
QFileSystemModel: remove incorrect #ifndef

No other call to fileInfoGatherer.getInfo(info) is #ifndef'ed on
QT_NO_FILESYSTEMWATCHER, so this one shouldn't be, either.

Change-Id: If145226c13d77460d6169a9ed3028647b0f565b5
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Majid Khan <mkhan3189@gmail.com>
12 years agoHarfBuzz: fix unused parameter / variable warnings
Marc Mutz [Tue, 21 Aug 2012 08:29:40 +0000 (10:29 +0200)]
HarfBuzz: fix unused parameter / variable warnings

Change-Id: I362c80081ac4e4d0b9126385bab5a77826810926
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
12 years agoFix infinite recursion while dragging toolbar of QMainWindow.
Markku Heikkila [Fri, 8 Jun 2012 10:32:58 +0000 (13:32 +0300)]
Fix infinite recursion while dragging toolbar of QMainWindow.

Prevent recursion in QMainWindowLayout::endSeparatorMove().

Manually cherry-picked from Qt 4.8 change
90b71dc0ff4ec9bb150a0de9933d6eb06d995a34

Task-number: QTBUG-21378

Change-Id: I901ebfd96be0bdc6ab03dd8c3335d2622db843db
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoexplain specifically how to make a transparent window
Shawn Rutledge [Tue, 21 Aug 2012 17:20:11 +0000 (19:20 +0200)]
explain specifically how to make a transparent window

Change-Id: I136d8d9709d4fae914f12919e513641a6e76e3f0
Task-number: QTBUG-20768
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoOSX: Drag and Drop QMimeData.
Christoph Schleifenbaum [Thu, 23 Aug 2012 18:27:11 +0000 (20:27 +0200)]
OSX: Drag and Drop QMimeData.

When dragging and dropping within the same application, the QDropEvent
should contain exactly the same instance of QMimeData as it was set to
QDrag.

This solves the problem in
https://bugreports.qt-project.org/browse/QTBUG-26953

Change-Id: I3bc4da845ff4293c509343c1c8c62fc331416ec0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agodoc: Fix doc warnings for qtextlayout.cpp
Eskil Abrahamsen Blomfeldt [Fri, 24 Aug 2012 08:36:43 +0000 (10:36 +0200)]
doc: Fix doc warnings for qtextlayout.cpp

\Auml for a with umlaut doesn't seem to work with qdoc anymore,
so replace this with the unicode value instead. Also, add
reference to arguments in glyphRuns() function.

Change-Id: I31861b384b822d1fbdcafbeeac07ea68a0e5fd07
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agodoc: Fix several text-related qdoc warnings
Eskil Abrahamsen Blomfeldt [Fri, 24 Aug 2012 10:47:21 +0000 (12:47 +0200)]
doc: Fix several text-related qdoc warnings

Also adds a new snippet which is just copy-pasted from the
old documentation, because the snippet-file previously referenced
seems to have disappeared.

Change-Id: I0180715544321e076acda769cbdcbf19d50a971b
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agofilter standard paths from mysql_config & pg_config
Oswald Buddenhagen [Fri, 24 Aug 2012 11:28:36 +0000 (13:28 +0200)]
filter standard paths from mysql_config & pg_config

standard paths should never be added to compiler/linker lines, as they
are likely to mess up the lookup order.
pkg-config does that filtering for us, but the home-grown config tools
don't, so we need to take care of it.

configure.exe does not have such auto-detection, so the change is not
necessary there.

Task-number: QTBUG-26850
Change-Id: I2f523d5cffb27c3d0a16cdef6ca8a4877c9983c0
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Reviewed-by: Mitch Curtis <mitch.curtis@nokia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
12 years agoSplit the futexFlags() function in two: a hot and a cold path
Thiago Macieira [Fri, 10 Aug 2012 14:06:41 +0000 (16:06 +0200)]
Split the futexFlags() function in two: a hot and a cold path

We could mark the cold path with __attribute__((cold)) (since GCC 4.3),
but quick tests locally indicate that the compiler is smart enough to
determine that by itself.

It will inline the hot path in _q_futex, which in turn is inlined in the
lockInternal and unlockInternal functions, whereas the cold path is kept
outside.

Change-Id: I8ae7d851d4f050498bfb491ba87d3e25453a14f8
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
12 years agoMark mutex locking and unlocking functions with noexcept
Thiago Macieira [Thu, 2 Aug 2012 14:15:22 +0000 (16:15 +0200)]
Mark mutex locking and unlocking functions with noexcept

Unlocking a mutex can never throw an exception. That doesn't make
sense and our code should make sure it can't happen. Right now,
provided that the system-level functions don't throw, we don't either.

Locking a mutex cannot throw on Linux because we use futexes
directly. A non-recursive mutex is just a futex, whereas a recursive
mutex uses a mutex (a futex) to manage a lock count.

However, on other platforms, due to the freelist, there can be memory
allocation, which means it might throw std::bad_alloc. Not because of
the freelist itself (that uses malloc and will just crash if malloc
fails) but because of Q_GLOBAL_STATIC. In 5.1, the global static will
be noexcept provided the type's constructor is so too (it is, in this
case).

Change-Id: I4c562383f48de1be7827b9afb512d73eaf0792d5
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoAdd a way for QtDBus to force a call to dbus_shutdown
Thiago Macieira [Fri, 17 Aug 2012 16:11:52 +0000 (18:11 +0200)]
Add a way for QtDBus to force a call to dbus_shutdown

This will ask the D-Bus library to free its caches. It's useful for
running valgrind on a D-Bus based application, so we can detect real
leaks.

We can't run this by default because there could be other users of
libdbus-1. Calling the shutdown function would make them stop working.

Change-Id: I9854b82afcdbc4955d6f0a1a1b49a673186242c8
Reviewed-by: Lorn Potter <lorn.potter@nokia.com>
12 years agoPrint some debugging from QDBusConnection when disconnecting
Thiago Macieira [Fri, 17 Aug 2012 16:13:29 +0000 (18:13 +0200)]
Print some debugging from QDBusConnection when disconnecting

Change-Id: I6e19cd8b16513faad6435d1713eab56675d07289
Reviewed-by: Lorn Potter <lorn.potter@nokia.com>
12 years agoDo not build qpa/gui dependant plugins in no-gui mode
J-P Nurmi [Fri, 24 Aug 2012 09:41:37 +0000 (11:41 +0200)]
Do not build qpa/gui dependant plugins in no-gui mode

Change-Id: I725e9127e640c0dd3cbd7f1488b16dcf4eb06377
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agosrc.pro: remove redundant & incorrect platformsupport dependency
J-P Nurmi [Fri, 24 Aug 2012 09:34:57 +0000 (11:34 +0200)]
src.pro: remove redundant & incorrect platformsupport dependency

it's already added conditionally below

Change-Id: I4df89b2822a3e6e46d8254c08fd69d0c98e680b7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoUse nanosleep instead of pthread_cond_timedwait for thread sleeping
Thiago Macieira [Sun, 12 Aug 2012 10:54:11 +0000 (12:54 +0200)]
Use nanosleep instead of pthread_cond_timedwait for thread sleeping

There's a comment saying nanosleep's availability is questionable, but
the information of what systems don't have that is now lost in
time. It's quite likely that they were older, Unix systems we no
longer support anyway.

nanosleep comes from POSIX.1b-1993, which is merged into POSIX.1-2001,
so chances are that it's supported almost everywhere where Qt runs
(except for Windows anyway).

Change-Id: I4fd18f8715c43a42429000f3b3d2c3b7343f94b4
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
12 years agoImprove docs.
Frederik Gladhorn [Wed, 15 Aug 2012 11:32:02 +0000 (13:32 +0200)]
Improve docs.

Change-Id: I073398e4da14a1c6489c951200f022a346f4d2fa
Reviewed-by: J-P Nurmi <j-p.nurmi@nokia.com>
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoDon't define QT_NO_ICONV on Windows: that comes from qconfig.h
Thiago Macieira [Thu, 23 Aug 2012 15:25:44 +0000 (17:25 +0200)]
Don't define QT_NO_ICONV on Windows: that comes from qconfig.h

Both the configure script and configure.exe add QT_NO_ICONV to qconfig.h
in case they can't find iconv. Since Windows doesn't use iconv anyway,
we don't need to set QT_NO_ICONV here.

MSVC likes to print a warning that a macro is redefined. That gets quite
spammy...

Change-Id: Ide9800f6f848bc0c2d8bdbcb41875a709d3e249c
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoAdd qiterator.h to tools.pri
Thiago Macieira [Thu, 23 Aug 2012 10:23:10 +0000 (12:23 +0200)]
Add qiterator.h to tools.pri

Change-Id: I2c8182adbf513231bcef5dc2de60217753a54b76
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
12 years agoQDBusMetaType: #if -> #ifdef QT_BOOTSTRAPPED
Marc Mutz [Fri, 24 Aug 2012 09:30:21 +0000 (11:30 +0200)]
QDBusMetaType: #if -> #ifdef QT_BOOTSTRAPPED

The rest of the code uses #ifdef/#ifndef, so do so here, too.

Change-Id: I4811755f9a1c2a1cab371e3bea78d3c5f9af086e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoqdbus_loadLibDBus: remove unneeded volatile qualification
Marc Mutz [Fri, 24 Aug 2012 09:13:38 +0000 (11:13 +0200)]
qdbus_loadLibDBus: remove unneeded volatile qualification

The variable is only ever accessed under mutex protection, and
doesn't otherwise look like it could be changed by the hardware,
so remove the volatile qualifier.

Change-Id: I3bb00ed6f8017d662bbf73425a70d52116cc9297
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoFix doc: qglcolormap is not the opengl module
Frederik Gladhorn [Fri, 24 Aug 2012 13:32:34 +0000 (15:32 +0200)]
Fix doc: qglcolormap is not the opengl module

Change-Id: I134aeafbabc62e36da20e0a6df667b6c1aa0c477
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agofbbackingstore: Don't overload inherited virtual function
Kent Hansen [Fri, 24 Aug 2012 08:38:20 +0000 (10:38 +0200)]
fbbackingstore: Don't overload inherited virtual function

The QPlatformBackingStore::endPaint function does not take any
parameters.

Change-Id: If15d7824d65a52c38332c6676c12a954469a58ab
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoTest for quadratic behaviour when rendering long line in QTextEdit
Olivier Goffart [Thu, 16 Aug 2012 07:55:50 +0000 (09:55 +0200)]
Test for quadratic behaviour when rendering long line in QTextEdit

QTextEdit showing long lines using lots of text format (for example
with a syntax highlighter) used to expose a quadratic behaviour which
make it impossible to edit files with long lines.

It was fiexed in the few previous commit

Task-number: QTBUG-8389
Change-Id: Ib7203497a7699a85ae1dfb70fe65d5fb36884b58
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoFix performence problem while shaping a lines with many scripts
Olivier Goffart [Thu, 16 Aug 2012 07:53:44 +0000 (09:53 +0200)]
Fix performence problem while shaping a lines with many scripts

Fix quadradic behaviour regression introduced in commit
2e6b8b4734710377e25c199e3ff7865628e7d723

Task-number: QTBUG-22275
Change-Id: I343452c6b1cd0e571770e5dadd3cd6fd3167c96d
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoSpeed up QTextEngine::setBoundary
Olivier Goffart [Thu, 19 Jul 2012 12:42:37 +0000 (14:42 +0200)]
Speed up QTextEngine::setBoundary

Before, setBoundary was O(N), now it is O(log N) assuming the boundaries
are added in order. (splitItem might still be linear because of the call
to QVector::insert)

This speeds up a lot QTextEngine::addRequiredBoundaries when there is a
lot of addFormats. (For example if there is a very long line with syntax
highlighting)

Task-number: QTBUG-8389
Change-Id: I10c9fca72343f46db24b1d4f519f7747188d4009
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoSpeed up QTextEngine::resolveAdditionalFormats
Olivier Goffart [Thu, 19 Jul 2012 12:54:10 +0000 (14:54 +0200)]
Speed up QTextEngine::resolveAdditionalFormats

Don't call the linear QTextEngine::format in the loop.
Instead, keep track of the current formats by indexing their start and end position.

Task-number: QTBUG-8389
Change-Id: I89c18b804111edfab6254442cbee33da39d1a273
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agodoc: Fix some qdoc warnings
Eskil Abrahamsen Blomfeldt [Thu, 23 Aug 2012 09:35:11 +0000 (11:35 +0200)]
doc: Fix some qdoc warnings

QDoc doesn't supported nested tags, and there doesn't seem to be
any way to trick it into thinking you've mentioned the argument
(\omit didn't work), so actually rephrasing is the only way to
kill the warning. Also add a const modifier to a signature to
make it match the declaration.

Change-Id: Ie02a488c42565205e827602959111c53e2d05a83
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoCompile without the deprecated filterEvent function
Thiago Macieira [Thu, 23 Aug 2012 15:15:07 +0000 (17:15 +0200)]
Compile without the deprecated filterEvent function

Use the filterNativeEvent function, which also takes the name of the
event.

Change-Id: Ifa3dd6285a2a526b5c3de5a86a74ead706534759
Reviewed-by: David Faure <faure@kde.org>
12 years agoxcb: fix unused static warning
Marc Mutz [Mon, 13 Aug 2012 20:34:28 +0000 (22:34 +0200)]
xcb: fix unused static warning

The variable ptrXcursorLibraryLoadCursor is only used in code
wrapped in XCB_USE_XLIB.

Change-Id: If0b4997ac6e80a3709263d9793d1ca0dfd5907f3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agolinuxfb: remove unused function
Marc Mutz [Mon, 13 Aug 2012 20:33:21 +0000 (22:33 +0200)]
linuxfb: remove unused function

debug() isn't even referenced in commented-out code, and GCC warns
about it being unused, so remove.

Change-Id: I2830b7932e18cdd3643925973995bea7fea9f277
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
12 years agoQSystemTrayIcon: fix narrowing warning
Marc Mutz [Thu, 9 Aug 2012 13:43:56 +0000 (15:43 +0200)]
QSystemTrayIcon: fix narrowing warning

GCC complained:

  warning: narrowing conversion of
  ‘((QSystemTrayIconSys*)this)->QSystemTrayIconSys::<anonymous>.QWidget::winId()’
  from ‘WId {aka long long unsigned int}’ to ‘long int’ inside { } [-Wnarrowing]

Change-Id: I63908c884b51db203ee0ed659a152af77c295292
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
12 years agoQNetworkDiskCache: avoid a 31-bit truncation
Marc Mutz [Mon, 20 Aug 2012 14:24:59 +0000 (16:24 +0200)]
QNetworkDiskCache: avoid a 31-bit truncation

Network operations whose content size exceed 2G are not unheard of, and
they probably shouldn't be cached, so use the correct toX() function, one
that doesn't truncate the value in the header.

Change-Id: Ie4e68a3120c85952dd2cc9feb73c5844e20b9aa3
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
12 years agodoc: Remove documentation for removed function
Eskil Abrahamsen Blomfeldt [Thu, 23 Aug 2012 13:16:10 +0000 (15:16 +0200)]
doc: Remove documentation for removed function

Function was removed in 1582407fc782c0befd0760633324dd5c206524a1,
but the documentation was left behind.

Change-Id: Ib59197221e3be0e13db958ab3efdcc95b7c52452
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoQtNetwork: declare some classes as shared
Marc Mutz [Mon, 7 May 2012 17:48:52 +0000 (19:48 +0200)]
QtNetwork: declare some classes as shared

Change-Id: Ib3eaba59836529ad0cf8e4353b54dd0cd31fd1ad
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
12 years agoqmake: fix manifest resource for non-trivial target names
Joerg Bornemann [Thu, 23 Aug 2012 09:30:36 +0000 (11:30 +0200)]
qmake: fix manifest resource for non-trivial target names

The Microsoft Resource Compiler bails out if the rc file contains
non-trivial file name references. In particular it doesn't like
dashes in file names. We're now always quoting the file name.

Change-Id: I67b8d2c13010a0b2ec26cac915ebd1be95f1c274
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>