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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>