profile/ivi/qtbase.git
11 years agoMerge changes I488cd657,Ic208d5ff 1.0 1.0_branch
Rusty Lynch [Wed, 19 Sep 2012 16:54:46 +0000 (01:54 +0900)]
Merge changes I488cd657,Ic208d5ff

* changes:
  Use the -no-strip option in Qt's configure so we get debuginfo
  Introduce an option to disable stripping during installation

11 years agoUse the -no-strip option in Qt's configure so we get debuginfo 88/1788/1
Thiago Macieira [Wed, 19 Sep 2012 10:11:04 +0000 (12:11 +0200)]
Use the -no-strip option in Qt's configure so we get debuginfo

Change-Id: I488cd657fde9eae5cd2f1b0462663a4f72f535fa

11 years agoIntroduce an option to disable stripping during installation 87/1787/1
Thiago Macieira [Fri, 14 Sep 2012 14:04:59 +0000 (16:04 +0200)]
Introduce an option to disable stripping during installation

The default is the current behaviour: strip on installing release, no
strip on installing debug. This option does not change the
installation of debug builds because qmake does not support that.

Change-Id: Ic208d5ffe860d5f1ee1cafdc944e12001673d33f
(cherry picked from commit 0de43851f519e44ddf47f026de6169c581d4df17)

11 years agoUpdating to 5.0.0-beta1 73/1773/1 accepted/trunk/20120919.004211 submit/trunk/20120918.230322
Rusty Lynch [Tue, 18 Sep 2012 23:01:46 +0000 (16:01 -0700)]
Updating to 5.0.0-beta1

11 years agoUpdate to 5.0 beta1
Thiago Macieira [Wed, 12 Sep 2012 20:00:11 +0000 (22:00 +0200)]
Update to 5.0 beta1

Change-Id: I0d6ee21951554da7b3d99ad15f5dbc571aa909d9

11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 years agoExtract the QMetaMethodPrivate::ownMethodIndex method.
Stephen Kelly [Thu, 23 Aug 2012 09:37:45 +0000 (11:37 +0200)]
Extract the QMetaMethodPrivate::ownMethodIndex method.

Change-Id: Ic96e3582ff4332ac489f7c51ed40eb1b1a0ac42d
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
11 years agoFixed missing window decorations on compiz.
Samuel Rødal [Thu, 23 Aug 2012 08:11:44 +0000 (10:11 +0200)]
Fixed missing window decorations on compiz.

Task-number: QTBUG-26954
Change-Id: I6981338d4bbc9cf1440c9d67e9d034e0553dfeae
Reviewed-by: Jason Barron <jason.barron@nokia.com>
11 years agoMake QAbstractItemModel::sibling virtual.
Stephen Kelly [Wed, 22 Aug 2012 16:01:32 +0000 (18:01 +0200)]
Make QAbstractItemModel::sibling virtual.

This would allow implementations to create an optimized way to create
sibling indexes.

A typical pattern of QAIM implementation is to use the same internalPointer
for each row of a subtable of a model (such that the internalPointer is
related to the common parent of each set of rows) and differentiate on the
row value in the QModelIndex. Alternatively, it is also common to have the
internalPointer correspond directly to the row value for the QModelIndex.

In both cases it is possible for the implementation to optimally create a
sibling QModelIndex in the same column as a known row. Provide a virtual
method for them to do so.

Change-Id: I3b076abcd5f6087a4cb108fbc6dceeef15529987
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
11 years agoMake sure we don't get duplicated doc pages.
Lars Knoll [Fri, 17 Aug 2012 06:52:12 +0000 (08:52 +0200)]
Make sure we don't get duplicated doc pages.

\group generates a page with the same name
as the \page comand afterwards.

Change-Id: Iaca6da21485532c8c3b13982bd06a06f3dbc0375
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
11 years agoDoc: Add \inmodule QtCore to all QtCore class doc bodies
Thiago Macieira [Thu, 23 Aug 2012 10:22:38 +0000 (12:22 +0200)]
Doc: Add \inmodule QtCore to all QtCore class doc bodies

Change-Id: I19100755c97cc155c76a859e19940e9f9222d34e
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
11 years agoDoc: Add \inmodule QtDBus to all QtDBus class doc bodies
Thiago Macieira [Thu, 23 Aug 2012 10:22:38 +0000 (12:22 +0200)]
Doc: Add \inmodule QtDBus to all QtDBus class doc bodies

Change-Id: I0aa273c355314effd563cfeda74ce7bacbef3db8
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
11 years agoDoc: replace occurrence of \starslash in widget docs
Andy Nichols [Tue, 21 Aug 2012 15:42:21 +0000 (17:42 +0200)]
Doc: replace occurrence of \starslash in widget docs

Change-Id: I93c370e3d53b955057741bc3bf503e781fbb6244
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
11 years agochange http example default URL to http[s]://qt-project.org
Jeremy Katz [Wed, 22 Aug 2012 13:37:54 +0000 (15:37 +0200)]
change http example default URL to http[s]://qt-project.org

This example used to refer by default to qt.nokia.com.

Change-Id: Iecb682d0deb6270da91baf26897d44b16b39d09e
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
11 years agoDoc: Fix snippet and example referencing widget examples
Andy Nichols [Tue, 21 Aug 2012 14:13:49 +0000 (16:13 +0200)]
Doc: Fix snippet and example referencing widget examples

Widget examples were moved into a widgets subfolder, but
qdoc references were not updated.

Change-Id: Id2a4573e723745b9827c664c852807d6116f8f6d
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
11 years agotst_QMutex: add markers to the tryLock tests
Thiago Macieira [Wed, 22 Aug 2012 15:47:27 +0000 (17:47 +0200)]
tst_QMutex: add markers to the tryLock tests

Just to make it clear which two sections go together.

Change-Id: If3724d1c84172a61bdd7931cc567f4b7140d4f8a
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
11 years agoRemove remaining bits of deprecated QInputPanel
Pekka Vuorela [Tue, 21 Aug 2012 11:19:47 +0000 (14:19 +0300)]
Remove remaining bits of deprecated QInputPanel

Introduced during Qt5 development and renamed to QInputMethod.

Change-Id: If6744648dc98b779e65c449ae32626db574181df
Reviewed-by: Joona Petrell <joona.petrell@gmail.com>
11 years agoRemove unused inotify includes in the filesystem watcher test
Thomas McGuire [Wed, 15 Aug 2012 13:54:04 +0000 (15:54 +0200)]
Remove unused inotify includes in the filesystem watcher test

Change-Id: I346ef6ccf7b09390bef6d35c82ecee6dee1711fc
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
11 years agoICU: Fix crash in codecForMib(2107)
Kai Koehne [Wed, 22 Aug 2012 11:51:45 +0000 (13:51 +0200)]
ICU: Fix crash in codecForMib(2107)

availableMibs() unconditionally adds 2107 to the list of mibs. The patch
ensures that codecForMib() also knows about this special TSCII codec.

(Note that the autotest only really checks this code path if only this
test case is run. The other tests already fill the internal codec cache
otherwise).

Change-Id: Id987d7cecd5f5700cca75e9b85b37011f8e5c622
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
11 years agoRemove qWaitForWindowShown(QWindow*) overload.
Stephen Kelly [Wed, 22 Aug 2012 09:24:15 +0000 (11:24 +0200)]
Remove qWaitForWindowShown(QWindow*) overload.

The QWindow* overload was introduced for Qt 5.0, but is unused already.

Change-Id: Ic07f19eac87bc93a589017407668760fceb2f632
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
11 years agoA few more random documentation fixes
Shawn Rutledge [Wed, 15 Aug 2012 16:40:37 +0000 (18:40 +0200)]
A few more random documentation fixes

@p replaced by \a, \QD replaced by {Qt Designer}, couple of enums etc.

Change-Id: I315510690bf52e42db519292b4122fa24c73bbc9
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
11 years agotst_QTreeView: fix unused variable warning
Marc Mutz [Wed, 22 Aug 2012 10:04:56 +0000 (12:04 +0200)]
tst_QTreeView: fix unused variable warning

Change-Id: Idf18e4615754d3b7b8a09d6fdec91344a7408c18
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
11 years agoDe-inline QVariant(float)
Harald Fernengel [Wed, 22 Aug 2012 11:34:21 +0000 (13:34 +0200)]
De-inline QVariant(float)

All QVariant constructors are not inline, so change QVariant(float) as
well. This allows for refactoring of QVariant during lifetime of Qt 5
without breaking QVariant(float) case.

Change-Id: Icd1fc331a1ef8a2872be811aa7d1160406038f06
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
11 years agoFix bug in configure where Qt did not compile with QT_ICONV=no
Jan-Arve Saether [Tue, 21 Aug 2012 09:52:28 +0000 (11:52 +0200)]
Fix bug in configure where Qt did not compile with QT_ICONV=no

It did not compile because at the time qconfig.h was preprocessed,
QT_NO_ICONV was already defined, causing the #define QT_NO_ICONV to
fail. It should be guarded like most other defines in qconfig.h.
Also fix QT_CUPS=no, QT_ICONV=no, QT_GLIB=no, QT_NOTIFY=no and
QT_LARGEFILE_SUPPORT=64 the same way.

Change-Id: Ic9e0295756c35cb7c62e18eb9b63b1410e7de051
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
11 years agoMove Qt::CursorMoveStyle docs to the right file.
Frederik Gladhorn [Fri, 17 Aug 2012 13:10:01 +0000 (15:10 +0200)]
Move Qt::CursorMoveStyle docs to the right file.

Change-Id: I26cc7336b33495a2649285cfeddeadec62e94d83
Reviewed-by: J-P Nurmi <j-p.nurmi@nokia.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
11 years agoFix accessibility unit test compilation
Pekka Vuorela [Tue, 21 Aug 2012 11:18:40 +0000 (14:18 +0300)]
Fix accessibility unit test compilation

Change-Id: I72c931e0704175b6b48d66a6df54784bcec6860c
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
11 years agoLogging: make qEmergencyOut() not allocate from the heap
Marc Mutz [Fri, 3 Aug 2012 07:32:05 +0000 (09:32 +0200)]
Logging: make qEmergencyOut() not allocate from the heap

Commit 6e6b74c0 introduced heap allocation in the form of
QString::fromLatin1().utf16() into qEmergencyOut(), a function
that's called in OOM situations and in cases where another
exception is still in flight.

Luckily, QString::fromLatin1().utf16() is just a funny way of
copying an array of chars into an array of wchar_ts, so we do
that manually now and use a static wchar_t buffer. While at it,
also throw text elision into the mix.

This commit also fixes the message passed to _CrtDbgReportW().
What should be displayed is the emergency_buf, not the format
string.

Also remove a similar allocation in qt_message_output().

Change-Id: I2c44a298fc0927bb992de4977a7e4a7b47b16b26
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
11 years agoSimple optimisation in toLocal8Bit(): call codecForLocale once only
Thiago Macieira [Wed, 15 Aug 2012 16:15:06 +0000 (18:15 +0200)]
Simple optimisation in toLocal8Bit(): call codecForLocale once only

The function is only slow the first time we call it, but there's no
reason we can't do this simple optimisation anyway.

Change-Id: Icacbbeb340838b32f5278b76d1860ad22dc9f7b7
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
11 years agoFix transformation in eglfs backingstore
Laszlo Agocs [Wed, 15 Aug 2012 15:17:38 +0000 (18:17 +0300)]
Fix transformation in eglfs backingstore

While not visible with forced-fullscreen windows, the formula
used to set up positioning on the Y axis is wrong. (with the GL
coordinate system Y goes 1..-1 when moving top-to-bottom)

Taken from kms' version of the backingstore which had the formulas
corrected.

Change-Id: I460a4eec925e47b08453af4e093d719567af22ea
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoRemove deprecation from enumerations in QtGui.
Friedemann Kleint [Wed, 22 Aug 2012 06:31:57 +0000 (08:31 +0200)]
Remove deprecation from enumerations in QtGui.

Referencing them in a (deprecated) function declaration causes
a deprecation warning to be emitted each time the header is
included, which causes a massive amount of warnings for qevent.h.

It should be sufficient to deprecate them in the documentation
and to deprecate function using them.

Change-Id: I531b7c893e73428703cfb302615bff382abce54f
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
11 years agoMove the QT_COMPILER_SUPPORTS_xxx defines to qconfig.h
Thiago Macieira [Sat, 11 Aug 2012 20:55:04 +0000 (22:55 +0200)]
Move the QT_COMPILER_SUPPORTS_xxx defines to qconfig.h

This reduces dramatically the command-line for compiling Qt sources.

These are private macros, only to be used by Qt's own modules, so the
compiler setting is either the same or, possibly, better. In other
words, in the worst case, when compiling a module with a better
compiler than for qtbase, such module might not enable all the
functionality it could otherwise do.

If we switch to a buildsystem that can support this properly in the
future, these macros should be removed.

Change-Id: I71f2d12ec98c9dd40eaab9de4a17446bd1066020
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
11 years agotst_QColumnView: fix unused variable warning
Marc Mutz [Wed, 22 Aug 2012 10:04:44 +0000 (12:04 +0200)]
tst_QColumnView: fix unused variable warning

Change-Id: I41a71faa64a20cebab058cf69181104eceea2339
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
11 years agoOptimize QAbstractItemModel::sibling a bit.
Stephen Kelly [Wed, 22 Aug 2012 14:11:20 +0000 (16:11 +0200)]
Optimize QAbstractItemModel::sibling a bit.

QModelIndex::sibling has a simliar optimization.

Change-Id: Ic0717d480ba0d46a4c0c88064bc9eda4c4ffe6f6
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
11 years agoqmake: fix embedding of generated manifests in debug mode
Joerg Bornemann [Wed, 22 Aug 2012 14:51:30 +0000 (16:51 +0200)]
qmake: fix embedding of generated manifests in debug mode

The existence of the manifest backup is used as a marker to decide
whether to embed the manifest in a second link step or not.
If it's present, the embedding took place in the first link step.
If it's not present, we must link again incrementally.
That logic was implemented faulty.

Change-Id: I10154dbbbe70c7981795ac66d46a166907ba13ec
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
11 years agoMake keyboard search work in the current column, not only the first.
Stephen Kelly [Wed, 22 Aug 2012 14:18:11 +0000 (16:18 +0200)]
Make keyboard search work in the current column, not only the first.

Task-number: QTBUG-26540
Change-Id: I1c365aeb013f5ddedd0589aa4c4844be759a3882
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>