Stéphane Cerveau [Tue, 17 Jul 2012 06:11:28 +0000 (08:11 +0200)]
Fix infinite loop due to FPU limitation
Bug detected with animatedtiles in example/animation.
In qpa mode, using some specific resolution of directfb such as
800x600 causes a bug in FillRectF where there is an infinite loop due
to scalabilty of qreal value: One is rounded and the other not.
Change-Id: I1707e53f34aeeadc0f0fc07b1dca148fbe05b5f1
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Mark Brand [Wed, 11 Jul 2012 14:29:53 +0000 (16:29 +0200)]
QSqlTM: add reimplemented record() method
QSqlQueryModel::record(row) populates the record it returns with values
from virtual data(), so the values themselves can be supplied by
QSqlTableModel. However, it is also desirable to be able to interrogate
QSqlTableModel for the actual current record in its cache, including
properties such as the generated flag.
Change-Id: I733901913b7d237d5762448e953a99b5bd83fc7f
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Mark Brand [Wed, 11 Jul 2012 07:52:14 +0000 (09:52 +0200)]
QSqlTM: use generated flag more correctly in setRecord()/insertRecord()
The generated flag should affect the generation of SQL commands rather
than how the fields of the source record are applied to the model before
submitting. This correction allows setRecord() to be used to change TRUE
generated flags to FALSE.
Clarified documentation on this point and updated change log.
Change-Id: I7ee124930822561ed8beee6c6259970b3e929c9b
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Charles Yin [Mon, 16 Jul 2012 01:32:22 +0000 (11:32 +1000)]
Don't join between 2 same points
Joining 2 points with same x,y values causes assert in QTriangulatingStroker::normalVector().
Task-number: QTBUG-26528
Change-Id: I2494d7f362e13e41a82753f4bacf97ffbc249cf9
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
Thiago A. Correa [Fri, 13 Jul 2012 17:28:18 +0000 (14:28 -0300)]
Fix error when inserting to tables with datetime fields with QODBC
SQL Server 10 introduced stricter rules for TIMESTAMP validation,
making it necessary to specify the decimal digits.
Other databases might do the same as well, so this patch introduces
a check for the TIMESTAMP column size and adjusts the decimal digits
parameter as needed.
Task-number: QTBUG-2192
Change-Id: If6d798c6c928ebda75bc474e49a07fbbfbe5816c
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Kim Motoyoshi Kalland [Mon, 16 Jul 2012 14:46:08 +0000 (16:46 +0200)]
List .pbm and .pgm as supported writable image file formats.
QImageWriter can write .pbm and .pgm files, but didn't list them
among its supported image file formats.
Task-number: QTBUG-22958
Change-Id: I777c7cd9a4b56fcf313248a29a917e594a5e4477
Reviewed-by: aavit <qt_aavit@ovi.com>
Marc Mutz [Mon, 16 Jul 2012 14:54:50 +0000 (16:54 +0200)]
QStateMachine: mark a ctor as explicit
Commit
0b66f723f06f6d115ea37d4db8bb6c0b5f63885b recently introduced a new
QStateMachine constructor, but failed to mark it as explicit. Fix.
Change-Id: I16037691ad77d528bb50b611c03063b17a71dd34
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Jeremy Katz [Mon, 16 Jul 2012 14:40:29 +0000 (16:40 +0200)]
undocument enums as part of Qt3Support removal
Lots of enums in the Qt namespace used to be hidden or documented
as obsolete. These have been removed entirely, as they result in
qdoc errors.
Change-Id: I67726d7358f4e71a0c8fc5181388b1cf8fd4e4bd
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Jeremy Katz [Mon, 16 Jul 2012 13:01:54 +0000 (15:01 +0200)]
Add gui/ to qtcore.qdocconf to pick up enums in Qt namespace
Qt::HitTestAccuracy and Qt::WhiteSpaceMode are defined in gui/ but
documented as part of the Qt namespace, so qdoc needs to look there
to find the relevant enums.
Change-Id: I36ae71c44024b12664688129044994926160e5c9
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Oswald Buddenhagen [Tue, 3 Apr 2012 12:19:10 +0000 (14:19 +0200)]
remove support for forwarding module pri creation via syncqt
now that all modules have migrated, this dead code can be removed.
Change-Id: I5e9c7dd3fb271346d1b5f0e2930874da3e4d2d57
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Stephen Kelly [Fri, 13 Jul 2012 17:32:47 +0000 (19:32 +0200)]
Generate a fatal error as appropriate.
Otherwise, subdirectories under directories which are added to
a resource file generate garbage in the binary.
The easiest way to see this is
cd tests/auto/corelib/kernel/qvariant
mkdir stream/qt4.9/somedir
make && ./tst_qvariant loadQt4Stream
Change-Id: I32630ecb6d515db1d135f0ffc5cf14fd8caa0a4f
Reviewed-by: hjk <qthjk@ovi.com>
Stephen Kelly [Sun, 24 Jun 2012 17:36:27 +0000 (19:36 +0200)]
Create imported targets if the library files exist
Handle the cases where the user does
./configure -debug
make
make install
make release
make release_install
Thereby making the installed configuration different to the
'configured' configuration.
Change-Id: Ib351d8a84c4333ebcbd305d68a37c16f86869559
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Brad King <brad.king@kitware.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Jeremy Katz [Mon, 16 Jul 2012 12:53:13 +0000 (14:53 +0200)]
Undocument Qt::AnchorAttribute
AnchorAttribute was removed as part of the Qt3Support cleanup.
Change-Id: I58d8e471d4bc1af420ec8eaab6d34c1718b30382
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Joerg Bornemann [Mon, 16 Jul 2012 09:11:06 +0000 (11:11 +0200)]
QWidget::showFullScreen fixed for widgets with valid size hint
Ensure the initial size is valid, since we store it as normalGeometry
below.
Task-number: QTBUG-26226
Change-Id: I3a55c389a48504699942930063089c80657687a0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Friedemann Kleint [Mon, 16 Jul 2012 12:46:08 +0000 (14:46 +0200)]
Replace Q_WS_ in tests by Q_OS_ or check platform names.
Change-Id: Ica445cf1e83bfaab870ac344d6c02766f047a5cc
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Joerg Bornemann [Mon, 16 Jul 2012 08:11:10 +0000 (10:11 +0200)]
tst_qwidget: check widget geometry in fullscreen mode
Change-Id: Idc45c6d18decf3c71c6736742434ad9d0cccd2d2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Andreas Holzammer [Mon, 16 Jul 2012 12:58:00 +0000 (14:58 +0200)]
Fix window size issue under Windows CE
Under Windows CE the top title window bar needs
to be taken into account when creating a window,
so the Style WS_OVERLAPPED needs to be passed to
AdjustWindowRectEx, to get the right size of the
window. For the desktop the documentation says,
that you should not pass the WS_OVERLAPPED flag,
but wince does not talk about this.
Change-Id: Id8c9d28b7aa04a9920e4cb81ac11463d9717a0e7
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Friedemann Kleint [Mon, 16 Jul 2012 11:47:04 +0000 (13:47 +0200)]
Remove #ifdef Q_WS_ / include / #endif conditionals.
Change-Id: I734490ddcb5501e620370e50ef06180ab5e23393
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
David Faure [Sat, 23 Jun 2012 08:02:11 +0000 (10:02 +0200)]
Fix applicationName() being empty in QApplication.
A virtual method was reimplemented to return an always-empty string,
probably a leftover from a refactoring.
This fix showed that tst_qwidget_window was buggy: between Qt4 and Qt5,
a "Before" became "After", which made "Before" unused, and was masking
the fact that the app name was empty by default. In addition, the
earlier Qt5 change that made the app name default to argv[0] now requires
updating this test, now that it's actually working.
Change-Id: I5360026821a9b95bedd0ff09dba3d51a22e542b7
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
Jan-Arve Saether [Fri, 13 Jul 2012 07:40:32 +0000 (09:40 +0200)]
Improve qDebug() << QAccessibleEvent() to display state changes
Change-Id: I4624bcf94c1290d14ea5f5eaaa5449af10ac2186
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Sergio Ahumada [Mon, 16 Jul 2012 12:12:21 +0000 (14:12 +0200)]
Doc: Fix typo
Task-number: QTBUG-23657
Change-Id: I3115f45f743da5699aa13f31a0f2de013d428aba
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Alexandros Dermenakis [Mon, 16 Jul 2012 11:08:09 +0000 (13:08 +0200)]
Added a reserved data pointer in QPaintDevice.
Change-Id: If547e5525635e7c76db7a02c7c0c300c87373a18
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Sergio Ahumada [Mon, 16 Jul 2012 11:57:22 +0000 (13:57 +0200)]
Doc: Fix typo foreigh -> foreign
Task-number: QTBUG-23260
Change-Id: I922a8b5cba5d8784305fb1779ccd352ab2ece365
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Shawn Rutledge [Wed, 4 Jul 2012 13:59:02 +0000 (15:59 +0200)]
handle XInput 2.2 multipoint touch events
Change-Id: I5c925ae3e191244c7ab9415e4ba2fe49b93dd2af
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Ivan Komissarov [Wed, 4 Jul 2012 16:45:24 +0000 (20:45 +0400)]
Remove QToolButton's protected constructor
As long as QToolButtonPrivate is declared in .cpp file,
this constructor is useless.
Change-Id: Ibbeaf291b88b3b203e5107e0227d68e65cbb9eee
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jeremy Katz <jeremy.katz@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Friedemann Kleint [Mon, 16 Jul 2012 10:22:04 +0000 (12:22 +0200)]
Fix QSplashScreen on X11.
Use code from QTestLib to wait for the Window to show up.
Change-Id: Ib674f3eb7a6c32cad1d502caefe7d4b073754e73
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Friedemann Kleint [Mon, 16 Jul 2012 10:24:27 +0000 (12:24 +0200)]
Use DropShadow from QPlatformTheme everywhere in qwhatsthis.cpp.
Change-Id: Ib8281d44e2d4b51aba13417c26247d3e19b1b2f8
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Friedemann Kleint [Mon, 16 Jul 2012 10:25:49 +0000 (12:25 +0200)]
Replace some Q_WS_X11 by check for platform's name.
Change-Id: I33d7ce31e01c355e0d9e05c98d6a84ea4f6d5bbd
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Stephen Kelly [Wed, 11 Jul 2012 09:25:59 +0000 (11:25 +0200)]
Fix the use of if() inside of macro().
if() seems to behave differently with macro parameters compared to
variables set with set().
Change-Id: Ieb9544b8c3187579fd4cfe25e2c2afa3f349eba6
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Jeremy Katz [Fri, 29 Jun 2012 11:25:31 +0000 (13:25 +0200)]
Make qwindowsysteminterface.cpp compile with QT_NO_SHORTCUT
Task-number: QTBUG-24816
Change-Id: Ia3d20775d28922ee94f965b4a7bc993915f34d6b
Reviewed-by: Tasuku Suzuki <tasuku.suzuki@nokia.com>
Reviewed-by: Jeremy Katz <jeremy.katz@nokia.com>
Kim Motoyoshi Kalland [Fri, 13 Jul 2012 10:42:18 +0000 (12:42 +0200)]
Fix crash in QPixmap::fromImage() when memory is low.
Task-number: QTBUG-26451
Change-Id: I7149edb1b03d7bcd4e90f369a1ac99b25ab262b9
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Kent Hansen [Fri, 13 Jul 2012 17:30:33 +0000 (19:30 +0200)]
statemachine: Move RestorePolicy enum to QState class
This makes it possible to add API for setting the restore policy
per state, or even per property assignment (QTBUG-17861).
This change is fully source compatible with Qt4.
Change-Id: I53628546b070f6fc84891f86e7ad7bd8ef5ba285
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Kent Hansen [Fri, 13 Jul 2012 18:11:45 +0000 (20:11 +0200)]
Add QStateMachine constructor that takes a ChildMode
Back when QStateMachine was changed to inherit QState, this
constructor was conveniently left out because setting the state
machine (root state) to be a parallel state group didn't actually
work. But as of commit
d281aa6936ad01e28dacabb41bd9eb59891f85a1,
it does work, so add the missing constructor.
Task-number: QTBUG-15430
Change-Id: I68c599baa0ef1bfc869195140cf5daf645e75b8b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Oswald Buddenhagen [Thu, 12 Jul 2012 09:17:40 +0000 (11:17 +0200)]
make QMAKE_RESOLVED_TARGET use normalized path separators
Change-Id: I23433a67364a9d09fa239b2c7f2cae495d3cc6df
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Thu, 12 Jul 2012 09:16:53 +0000 (11:16 +0200)]
make use of new functions
makes for cleaner code
Change-Id: I1a86bc4cac3778a1df37aa3307e5a8edac246961
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Thu, 12 Jul 2012 10:08:42 +0000 (12:08 +0200)]
automatically fix separators in QMAKE_{DIST,}CLEAN
it's a tad insane to expect the user to do that
Change-Id: I75c68f2a28656c9ba2e3fabcc79718b899b29ce7
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Fri, 13 Jul 2012 17:39:59 +0000 (19:39 +0200)]
fix object file name clash
under extremely rare circumstances this would have actually failed
Change-Id: I4132d0f82e9f924e92e9e96f6d34451c94a67201
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Stephen Kelly [Fri, 13 Jul 2012 18:18:40 +0000 (20:18 +0200)]
Test QVariant copy with a user type instead of a QtNetwork type.
Change-Id: I78acc8a843eb12a2606f491d1a29e1bcd408d60f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Stephen Kelly [Fri, 13 Jul 2012 18:02:29 +0000 (20:02 +0200)]
Run QIcon related crash test with the other QtGui types.
Change-Id: I475cfc5a91a046951feecb425f8235ad37f1ba44
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Stephen Kelly [Thu, 12 Jul 2012 14:22:15 +0000 (16:22 +0200)]
Don't declare built-in metatypes as metatypes again.
Change-Id: Iba9804299e8f6e2db10965fdc719ee26f197758e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Stephen Kelly [Fri, 13 Jul 2012 17:32:30 +0000 (19:32 +0200)]
Fix typo qith -> with.
Change-Id: Ie9eaa016c61f929be17fd1687517540c2ae1f3d2
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
Eskil Abrahamsen Blomfeldt [Fri, 13 Jul 2012 12:17:26 +0000 (14:17 +0200)]
Avoid crash when getting bearings from fallback font engine
When accessing a fallback engine, we always need to call
ensureEngineAt() to make sure it's loaded.
Change-Id: Ib27e34137cfe8a3dd2b358aef3b3296a4ca52478
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Stephen Kelly [Fri, 13 Jul 2012 09:48:09 +0000 (11:48 +0200)]
Add some tests to note that private signals can't be overloads.
This is just for completeness of the understanding of the limitations
of private signals. There are no private signals in Qt which have
overloads.
Change-Id: Ic34c555aea360ee34beec796e597657888573da9
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Stephen Kelly [Fri, 13 Jul 2012 08:55:38 +0000 (10:55 +0200)]
Simplify the moc code related to private signals a bit.
Change-Id: I0e9bae82c7c6d313e4161c35d0b988f633d5ae60
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Rafael Roquetto [Fri, 13 Jul 2012 09:11:55 +0000 (11:11 +0200)]
[QNX] Force UNIX-style separators on Windows hosts
The QNX toolchain, even on Windows, uses UNIX-style directory separators
('/').
Change-Id: I78575c9856b1700438c05ec0da81149688d85522
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Thorbjørn Lund Martsum [Wed, 11 Jul 2012 04:43:57 +0000 (06:43 +0200)]
Fix a few compiler warnings.
In this change:
dba22bc03690eaa00a7757dd024d8953ec74b30c
we actually do not need the sync.profile change.
The header is already in QtGui - and it caused compiler warnings
when Qt/tests are compiled. The troubled includes are of type
<qstandarditemmodel.h> where Wigets are first in the include path.
Change-Id: Iff17f6ddb6c6282d41a08b53438b7aec786f12a9
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Jan-Arve Saether [Fri, 13 Jul 2012 07:45:37 +0000 (09:45 +0200)]
Relax the reqirement in which order events are delivered.
When the pushbutton is shown, it will generate both a ShowEvent and
a StateChange with active=1 (because it is a top level window).
This patch relaxes the reqirement in which order events are delivered.
Ideally the order should also relied on, but I'm not sure if that
is feasible due to differences among window managers across all
platforms.
This got provoked by codereview.qt-project.org/#change,26014
Change-Id: I96159fbb1b64f0ca8d13833d8a4c6799c655afc2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Marc Mutz [Thu, 12 Jul 2012 20:35:10 +0000 (22:35 +0200)]
QNX: normalize signals/slots
This is the result of running util/normalize --modify
from Qt 4.7 with manual review.
Change-Id: I9229c3c52ba785194469ad51aba0c3af0c058894
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Marc Mutz [Thu, 12 Jul 2012 20:33:33 +0000 (22:33 +0200)]
plugins/bearer: normalize signals/slots
This is the result of running util/normalize --modify
from Qt 4.7 with manual review.
Change-Id: I7c9539056a4434ed10a0255152eac1781f7833be
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Marc Mutz [Thu, 12 Jul 2012 20:27:58 +0000 (22:27 +0200)]
input/evdevmouse: normalize signals/slots
This is the result of running util/normalize --modify
from Qt 4.7 with manual review.
Change-Id: I4afac23e897404ac7efb5b4a89493a2c15e3c670
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Stephen Kelly [Wed, 11 Jul 2012 12:13:15 +0000 (14:13 +0200)]
Only create the Qt5::WinMain target if it doesn't exist yet.
Multiple calls to find_package(Qt5Core) would otherwise attempt to
create multiple targets of the same name.
Change-Id: I5639671fec66d4dd62dcce018dea5d18dcfd3dc3
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Kevin Ottens [Thu, 12 Jul 2012 09:39:06 +0000 (11:39 +0200)]
Make sure the emulated mouse event comes last
With the recent refactoring in qtdeclarative for the handling of touch
and mouse events, QQuickCanvas automatically transforms touch events in
mouse events too.
It means that since we do something similar in the platform plugin, in
the case of QQuickCanvas the mouse event is duplicated. It it fine
except that having mouse event, touch event, mouse event in that order
is likely to mess the states of some elements. It happens to be the case
for MouseArea which will discard the second mouse event in the case of a
press, and because of that not receive the other events.
By changing the order in the plugin, we ensure getting events in the
following order: touch event, mouse event, mouse event. In the case of
MouseArea, since the press event will be accepted with nothing in
between, we'll keep receiving the other events.
Note that we can't simply remove the mouse event simulation on our side,
otherwise we'd break QWidget support.
Change-Id: If08fe0d97c6d60d0f858b228a014d94bc86dcf6f
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Kent Hansen [Thu, 12 Jul 2012 20:06:21 +0000 (22:06 +0200)]
statemachine: Micro-optimization for signal transition connect
It's silly to call one virtual function plus one function that
walks the inheritance chain, on every signal transition connect
and disconnect, when the method offset of the internal
QSignalEventGenerator class cannot change.
Change-Id: Ic4e83bdc6ab445ea8ca00f3d8da3031250621e2f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Kent Hansen [Thu, 12 Jul 2012 19:59:50 +0000 (21:59 +0200)]
statemachine: Use new Qt5 api for obtaining method parameter types
This is much faster than the string-based api.
Change-Id: Id7ba76aee3346dd90412ec5c8505329360aae937
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Kent Hansen [Thu, 12 Jul 2012 19:54:41 +0000 (21:54 +0200)]
statemachine: Make signal transition registration thread-safe
Since Qt's connections are thread-safe, QStateMachine's plumbing
around them should be thread-safe too.
Change-Id: I8ae91c2edc2d32ca4ed4258b71e5da22de30ed91
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Kent Hansen [Thu, 12 Jul 2012 18:07:18 +0000 (20:07 +0200)]
statemachine: Fix signal transition handling in multi-threaded setup
By default, QStateMachine lazily registers signal transitions (i.e.,
connects to the signal) when the transition's source state is
entered. The connections are established in Qt::AutoConnection mode,
which means that if the sender object lives in a different thread,
the signal processing will be queued.
But if a sender object's signal is used in an out-going transition
of the target state of the queued transition, it's possible that a
second signal emission on the sender object's thread will be
"missed" by the state machine; before the machine gets around to
processing the first queued emission (and registering the
transitions of the new state), a sender object on the other thread
could have emitted a new signal.
The solution employed here is to eagerly register any signal
transition whose sender object is on a different thread; that is,
register it regardless of whether the transition's source state is
active.
Conversely, when a machine's transitions are unregistered (i.e.,
because the machine finished), signal transitions with sender
objects on other threads should be left as-is, in case the machine
will be run again.
This doesn't solve the case where the sender object is moved to a
different thread _after_ the transition has been initialized.
Theoretically, we could catch that by installing an event filter
on every sender object and handle the ThreadChange events, but
that would be very expensive, and likely useless in most cases.
So let's just say that that case isn't supported for now.
Task-number: QTBUG-19789
Change-Id: Ibc87bfbf2ed83217ac61ae9401fe4f179ef26c24
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Kent Hansen [Thu, 12 Jul 2012 18:00:15 +0000 (20:00 +0200)]
statemachine: Small refactoring of transition registration
Split the guts of registerTransitions() into a registerTransition()
function. This allows a particular transition to be registered,
instead of walking the source state's whole list of transitions
every time.
Move the logic for determining whether a transition should be
registered to the state machine, since that's also where the actual
registration takes place.
Change-Id: I0496dee9454cd77b62cf2768942a82a96b320744
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Girish Ramakrishnan [Fri, 13 Jul 2012 02:45:40 +0000 (08:15 +0530)]
linuxfb: fix style in QFbCursor
Fix coding style, constness, m-prefix for member variables.
Change-Id: I9d75b410b398e5c3084b086b41884f2a0ddd6e5e
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Kent Hansen [Thu, 12 Jul 2012 17:40:04 +0000 (19:40 +0200)]
statemachine: Fix dynamic transition registration edge cases
Some of the transition constructors didn't call the maybeRegister()
function, causing the transitions to be ignored if they were created
when the state machine was running and the transition's source state
was active.
Added tests that cover all possible cases.
Change-Id: If1b593b127bd719e3be4e5a2e6949a780c4e97c3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Kent Hansen [Thu, 12 Jul 2012 17:41:03 +0000 (19:41 +0200)]
statemachine: Avoid warning when setting up signal transition
If the sender object was set, but not the signal signature, the
registration would proceed anyway, producing a strange warning like
QSignalTransition: no such signal: MyObject::
Change-Id: If0b113bdb60dd770d60b0d38d509b673e9d8c5eb
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Kent Hansen [Thu, 12 Jul 2012 15:03:03 +0000 (17:03 +0200)]
statemachine: Set correct signal index when signal is non-normalized
The originalSignalIndex member was not set if the signature had to be
normalized. This caused the SignalEvent passed to onTransition() to
report a signal index of -1.
Improve the signal transition tests so they check both the event
passed to eventTest() and onTransition().
Change-Id: I5331fd1944d53310b6d11eb2fd8713b80faa53a1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Marc Mutz [Thu, 12 Jul 2012 20:22:14 +0000 (22:22 +0200)]
doc/snippets: normalize signals/slots
There's one in corelib that has a comment
// slower due to signature normalization at runtime
I obviously didn't change that one.
This is the result of running util/normalize --modify
from Qt 4.7 with manual review.
Change-Id: I0ffb2305800a9cb746b7f8a4eb710702d64f1b92
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Marc Mutz [Thu, 12 Jul 2012 20:27:04 +0000 (22:27 +0200)]
QtWidgets: normalize signals/slots
This is the result of running util/normalize --modify
from Qt 4.7 with manual review.
Change-Id: I024d48cd111ab89f3fe83d9df51b188c9ad5023c
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Debao Zhang <dbzhang800@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Thomas McGuire [Wed, 11 Jul 2012 14:41:32 +0000 (16:41 +0200)]
QNX: Fix flushing the backing store to non-owner windows
Multiple windows can share the same backing store, which we did not
take into account. Don't ignore the window parameter in flush() to fix
that.
Change-Id: I4f98bba34d4da9134163e478cb78cab4ca0358d2
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Thomas McGuire [Wed, 11 Jul 2012 14:36:47 +0000 (16:36 +0200)]
QNX: Extract and move adjustBufferSize() function
Change-Id: Ia1719314460b9c51d6eba04ab1c43f02be1777b6
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Thomas McGuire [Wed, 11 Jul 2012 14:34:20 +0000 (16:34 +0200)]
QNX: Apply state from QWindow when creating new QQnxWindow
Otherwise things like the window position and the parent/child relation
were wrong.
Change-Id: Ibe22a54f093f187e510f9c4258db2d80abe54a81
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Friedemann Kleint [Mon, 9 Jul 2012 12:39:23 +0000 (14:39 +0200)]
Improve accessibility test helpers.
- Wait for accessibility events using qWait, allowing for
event processing,
- Output a verbose message if the event cannot be found.
Change-Id: Iaadbd235c15dd12bb14724e1724dd04328532a96
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Gunnar Sletta [Fri, 15 Jun 2012 11:41:18 +0000 (13:41 +0200)]
Analog clock and raster window examples
Change-Id: I36586fbaa7da25208bbc1964d2708f094d0d5c98
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Marc Mutz [Thu, 12 Jul 2012 20:24:36 +0000 (22:24 +0200)]
QtGui: normalize signals/slots
This is the result of running util/normalize --modify
from Qt 4.7 with manual review.
Change-Id: I36e54222b27f1e71eb7d89cdfc595177c8d2bdb3
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Marc Mutz [Thu, 12 Jul 2012 20:34:55 +0000 (22:34 +0200)]
meego: normalize signals/slots
This is the result of running util/normalize --modify
from Qt 4.7 with manual review.
Change-Id: I9dcff4e0982be616313e9f162203a21b447df64b
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Stephen Kelly [Mon, 9 Jul 2012 07:56:58 +0000 (09:56 +0200)]
Make it possible to connect to QAbstract{State,Transtion} private signals.
Use the same trick as used for private signals in the models.
Change-Id: I4235788490cae0e3d554565621d145652dc5b0ca
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Stephen Kelly [Mon, 9 Jul 2012 07:56:56 +0000 (09:56 +0200)]
Make it possible to use new syntax to connect to model signals.
The private signals can not be used as function pointers, as
required by the new syntax, so we introduce a parameter which
can only be created privately.
Change-Id: I3d7bb8a163e764d685e8007cba831fb77e3c6855
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Stephen Kelly [Mon, 9 Jul 2012 07:56:51 +0000 (09:56 +0200)]
Create a way to inform moc about private signals.
Moc checks for the use of the QPrivateSignal struct, which is part of
the Q_OBJECT macro and is private to each class that uses it. Moc then
generates a name of the signal which does not include the private
struct, and generates code to invoke such signals with an instance of
the private struct.
This way we can mark private signals as such and prevent them from
being emitted from subclasses or from outside of the class entirely.
The drawback to this is that it only works if the private
signal has no default arguments. However, at least in Qt, there are
no such signals.
Change-Id: Id16eadaa8d3c36a2c3b265077877f3e1d8304c84
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Jason McDonald [Thu, 12 Jul 2012 01:22:28 +0000 (11:22 +1000)]
Make it clear that stickman example animations are binary files.
Add a .bin extension to the filenames to ensure that packaging scripts
treat these files as binary instead of text.
Change-Id: Ib49e2bdb93a43ddb7590cb8fc0b542a251a786f8
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Jędrzej Nowacki [Thu, 21 Jun 2012 15:19:33 +0000 (17:19 +0200)]
Test for QMetaType binary breakage.
Type traits can not be changed durring Qt5 life time.
Change-Id: If69f65ff2113c901580afee91b11ae1b11c13a4f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Martin Smith [Thu, 12 Jul 2012 08:15:55 +0000 (10:15 +0200)]
qdoc: Clean path names before using them
The excludedirs variable doesn't work correctly when its values have
'../' in them. The solution is to use QDir::cleanPath() on each path
name before using it.
Task Nr: QTBUG-26492
Change-Id: I2db74e79cf096c1c75ab5b10877320360c016fc7
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Christoph Schleifenbaum [Thu, 12 Jul 2012 07:18:13 +0000 (09:18 +0200)]
Mac: Fix crash on Mac OS 10.6 with new scrollbars.
Add missing runtime for OS X version in constructor. This ended up in a
crash when starting a version compiled on 10.7 on 10.6.
Change-Id: I25c5562ee905317554e79d83a2f5236ce9e2a145
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Tuukka Turunen <tuukka.turunen@digia.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Marc Mutz [Wed, 11 Jul 2012 08:41:59 +0000 (10:41 +0200)]
tst_QMimeDatabase: use QFutureSynchronizer
Replace a list of QFuture<void>s and a loop that calls waitForFinished()
on each of them with a QFutureSynchronizer<void>, which does exactly that.
Change-Id: I1f2e90169a5b2949bd8cb9d1009a5a7af1500139
Reviewed-by: David Faure <faure@kde.org>
Kent Hansen [Thu, 12 Jul 2012 01:12:06 +0000 (03:12 +0200)]
statemachine: Fix state entry bug for parallel state groups
The SCXML spec had a bug that would cause the initial state of a
compound state within a parallel state group to be entered even if
the transition specified another (non-initial) state of the compound
state as its target. This only happened if the transition had
multiple target states.
The bug has been fixed in recent revisions of the SCXML spec. This
commit implements the fix, which is to walk the ancestors of the
transition's target states only after all the target states
themselves have been added, so that the default initial states are
correctly overridden/ignored.
Task-number: QTBUG-25958
Change-Id: Iac532047678c483a4a3996e24dacf30e00f6bbe0
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Kent Hansen [Wed, 11 Jul 2012 23:01:17 +0000 (01:01 +0200)]
statemachine: Move invariant code out of loop body
The lca variable doesn't change inside the loop. Comparing our
implementation to the algorithm in the SCXML spec reveals that this
check should indeed be done outside the loop.
Change-Id: I5e9824758fd147766e975d107a73561bd7f5a190
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Gunnar Sletta [Thu, 12 Jul 2012 07:00:50 +0000 (09:00 +0200)]
Fix compilation for some glxext.h header versions
Change-Id: I62b636d9f884c225e64a653db1a5f5da822d4af2
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Thiago Macieira [Tue, 10 Jul 2012 16:45:28 +0000 (18:45 +0200)]
Fix small problems with tst_QProcess
Remember to register the metatype where we use it, so we don't depend
on another test being run previously.
And skip the setWorkingDirectory test completely on Unix. I don't know
why it needs to be skipped, but if we're not going to verify anything,
don't even try to do anything. This saves us one memory leak at least.
Change-Id: I22e151cc3fa7b4e976972aca8978b88b263d9bee
Reviewed-by: Mitch Curtis <mitch.curtis@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Jan-Arve Saether [Mon, 2 Jul 2012 13:11:38 +0000 (15:11 +0200)]
Enable modularization of translation files.
This is accomplished by introducing dependencies to catalogs.
This requires one API change:
QTranslator::load(const uchar *, int);
changes to
QTranslator::load(const uchar*, int len,
const QString &directory = QString());
Since now, even the load from memory might need a directory if
the memory block contains a qm file with dependencies.
Change-Id: I781f333d07f53bb431d0a7b5fa1abe282dc4d338
Task-number: QTBUG-26138
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Eskil Abrahamsen Blomfeldt [Thu, 12 Jul 2012 10:55:04 +0000 (12:55 +0200)]
Fix crash when column is inserted before rowspanned cell
When you're inserting a column in front of a rowspanned cell
and this cell is not the first in the rowspan, we would get
the wrong logical index of the new cell (putting it in
front of the initial cell with the rowspan). If the cell
does not span all rows, the table will get into a broken state
and trigger asserts in update(). To fix this, we search for
the first cell after the insertion point which has a logical
index higher than the cell directly before the insertion point.
Change-Id: I42e91a20d77b2ba9c5607f6cab23f51ed888cbd3
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Oswald Buddenhagen [Thu, 12 Jul 2012 13:59:05 +0000 (15:59 +0200)]
fix splitting of $PATH when looking for sh.exe
Change-Id: I1ec0a48879d6ba7c0e2e7fdc0939980d0f817a68
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Thu, 12 Jul 2012 13:44:34 +0000 (15:44 +0200)]
remove another symbian remnant: QMAKE_RVCT_LINKSTYLE
Change-Id: Ibac060ecae061c72d4c7076b2d61a5cdd6247420
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Thu, 12 Jul 2012 09:19:48 +0000 (11:19 +0200)]
test behavior of $${absolute,relative}_path() with empty 1st argument
Change-Id: I76c0853a9d397979f2ae5eb780374d2380c989f1
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 9 Jul 2012 14:10:37 +0000 (16:10 +0200)]
remove pointless checking/fallback code for $$TARGET
qmake always sets that variable, so unless somebody pro-actively screws
it up (which doesn't seem like being worth checking for), it will just
work.
Change-Id: I3c4ada47cbd34ac68695d8efbf09c605392616f5
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Thu, 5 Apr 2012 15:08:26 +0000 (17:08 +0200)]
remove support for syncqt-based config tests
now that all modules have migrated, dispose of the clutter.
Change-Id: Ib8937c1452536f645b76c0097b927df1108afc1a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Tasuku Suzuki [Wed, 11 Jul 2012 17:49:47 +0000 (02:49 +0900)]
remove QT_NO_SIGNALMAPPER from features
QSignalMapper is a small and extremely low-level interface.
Change-Id: I7e799673c6fe559178739fbc58385141ae3f0789
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Andreas Holzammer [Thu, 12 Jul 2012 09:21:47 +0000 (11:21 +0200)]
Fix wince build
Wince does not have a style so we cannot save it.
This was introduced by Change-Id: I6fca399376cd1fa9bffea0a686b56c4d5ec26605
Change-Id: I249aa8e9688e5a862b3787c531c19baea7338d5e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Girish Ramakrishnan [Fri, 6 Jul 2012 13:10:08 +0000 (18:40 +0530)]
QPA: pass cmdline arguments to QPlatformIntegrationPlugin constructor
Two observations of the current code:
1. The cmdline arguments are passed as dynamic properties of the native
interface. This is not optimal. First, the args should be made available
in the plugin constructor (and thus in the QPlatformIntegration constructor).
This allows the integration to make decisions when initializing itself.
Second, the preferred way for apps to query properties from the platform plugin
should be through the various methods in QPlatformNativeInterface.
With that in mind, the dynamic property approach should be obsoleted. I have left
the code as-is for backward compat.
2. The -platform argument is parsed twice. Once in init_platform and then
again in QPlatformIntegrationFactory. QPlatformIntegrationFactory now takes
the name and arg list separately.
Change-Id: I6b568ed9e28feeaf036bf340417fa00bdf1b7da3
Reviewed-by: Romain Pokrzywka <romain.pokrzywka@kdab.com>
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Friedemann Kleint [Thu, 5 Jul 2012 10:08:31 +0000 (12:08 +0200)]
Implement qWaitForWindowShown using qWaitForWindowExposed.
Deprecate qWaitForWindowShown for Qt 6 as it is just a wrapper.
Change-Id: I0f8195679679120bd402e273fed4d331dc926708
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Oswald Buddenhagen [Thu, 12 Jul 2012 09:25:39 +0000 (11:25 +0200)]
don't unnecessarily normalize $$[QT_INSTALL_*] any more
they are always normalized nowadays
Change-Id: I2d6d00639a4838da1a4def93a3416b000b8cd589
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Thomas McGuire [Wed, 11 Jul 2012 12:34:33 +0000 (14:34 +0200)]
QNX: Rename copyBack() to blitPreviousToCurrent()
Change-Id: I12cff8f4533f9a257b85d2a2db6ee3ef4a0c9751
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Thomas McGuire [Wed, 11 Jul 2012 12:31:13 +0000 (14:31 +0200)]
QNX: Factor out blitHelper() function
Change-Id: If4d671aae557065d502c3c134f50c89c621cb145
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Thomas McGuire [Wed, 11 Jul 2012 12:30:11 +0000 (14:30 +0200)]
QNX: Add comment in post() explaining how buffering works
Change-Id: Ieb87ea1bd926700277bf90c6a50ae89f1a8da1c2
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Friedemann Kleint [Thu, 12 Jul 2012 09:06:11 +0000 (11:06 +0200)]
Tests: Fix printsupport profiles.
Fix reversed conditions, breakage introduced by
32db7de2079967fe1c333c562b742318c50321a4.
Change-Id: I6fca399376cd1fa9bffea0a686b56c4d5ec26605
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Oswald Buddenhagen [Thu, 12 Jul 2012 07:38:44 +0000 (09:38 +0200)]
make the prl lookup search in standard locations
qtAddModule() skips adding standard library paths to LIBS. however, as
processPrlFiles() didn't know anything about that, it would not find the
prl files of qt libraries in these paths.
so centralize the definition of these default paths (we should actually
ask the linker for them) and use it in both places.
do the same for the include paths for symmetry.
Change-Id: I7e3692dc2d1c2d0c97a9151d15887b1263de137a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Robin Burchell [Wed, 11 Jul 2012 13:08:19 +0000 (15:08 +0200)]
android: fix build mistake from earlier mkspec naming
Change-Id: I48d9f097e3177f9e2f558845e531f4e438035586
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>