Commit Graph

14784 Commits

Author SHA1 Message Date
Corentin Jabot
5a02d30a78 Add an advisory interruption mechanism to QThread.
To ease interruption of long running tasks, a new method
QThread::setInterruptionRequested() can be called.
The task can check QThread::isInterruptionRequested()
and act upon it by stopping itself.

These methods are designed to replace the use of a global variable
and other hacky ways to stop a task running in another thread.

Change-Id: I17622dd60d2262078210e7e4294ad6c53a6dc179
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-05 08:20:18 +02:00
Thiago Macieira
34195aa6cb ICC supports __builtin_unreachable(), so use it
__assume(0) is not strong enough in some cases.

Change-Id: Ifac42a58af891d636e3e0b2fa476da787bd0d1ce
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
2013-09-05 06:29:35 +02:00
Tor Arne Vestbø
eb614cf7e7 Don't assume processEvents(WaitForMoreEvents) will process timers
The WaitForMoreEvents flag only guarantees that we will process _some_
events -- either if they are in the event queue already, or by sleeping
and then waking up to process an event. This event might be a system
event, not the timer firing, so a single call to processEvents() is
not enough to guarantee that the timer has fired. Instead we do a
Q_COMPARE with a timeout, where we continiously process events until
we see that the timer fired.

Change-Id: I5dc04377f04190f3505be22e877af73d11b7547d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-05 02:32:57 +02:00
Richard Moe Gustavsen
78f3f35a8b qdatetime: fix build on iOS
Change-Id: I7c6225c54a863f29aa747caf2f57303b2bf6c398
Reviewed-by: John Layt <jlayt@kde.org>
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-05 00:50:12 +02:00
Giuseppe D'Angelo
b4567a7bf2 Remove qFill usages from the generic unix theme
QtAlgorithms is getting deprecated,
see http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: I23719468e22e256caad977fce6c908059d4073ca
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-09-05 00:49:24 +02:00
Giuseppe D'Angelo
182bfb21b7 Remove qFind usages from QLinkedList
QtAlgorithms is getting deprecated,
see http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: I00f5a2bf96e969b85d63479bab6497d6e1bd17b1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-04 22:37:00 +02:00
Giuseppe D'Angelo
5700071ac3 Remove qCopy from QVarLengthArray
QtAlgorithms is getting deprecated,
see http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: I854f64ebd6d83718b1bcb3c70a1697e38243296c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-04 22:36:39 +02:00
Martin Gräßlin
47d79be39a Enable XSync extension also for KWin
KWin supports the XSync extension. Since the check got added the XSync
implementation in KWin got reworked (release KDE SC 4.8).

Change-Id: I15c37fe4dd5501ca107b90a07ae8d70295ffaeda
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2013-09-04 20:18:53 +02:00
J-P Nurmi
7e7d1f5a79 Introduce QAbstractTextDocumentLayout::unregisterHandler()
Required for QQuickText & friends to implement image resource handling
in a clean way - to get rid of QQuickTextDocumentWithImageResources and
eventually make QQuickTextEdit's document interchangeable.

Change-Id: I12305b68065a5990997ca4a47821fd29e0e17476
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-09-04 18:52:29 +02:00
Giuseppe D'Angelo
770532d058 Remove qSort usage from QIODevice
QtAlgorithms is getting deprecated,
see http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: If9fbcaf714f10659a3571f9e55ab913a85538038
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-04 18:52:29 +02:00
Giuseppe D'Angelo
38b92f5cba Get rid of qSort usages in QDir
QtAlgorithms is getting deprecated,
see http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: I951a2b9b16fce9d6d29cca0012cdeb06cad79fce
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-04 18:52:29 +02:00
Jerome Pasion
b51b3e63a6 Doc: Fixed QDoc's HTML generator to avoid creating blank pages.
-The qdb->findModule() call creates a module node even if the module
 name is empty. This creates the extra module.html pages in some
 doc projects.
-The fix is to create a condition for calling findModule()

Task-number: QTBUG-32990
Change-Id: I6c1d1c53f3814ea483df2cd05b8d39dc14b0fb7b
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-09-04 18:52:29 +02:00
Jerome Pasion
096499f69a Doc: Fixed information about the default modules when using qmake.
-Qt GUI and Qt Core are included by default
-Added entry about disabling "gui" in the .pro file
-Information placed in snippet files

Change-Id: I1c70dcac9ca2d443e9f658e2a27727d24a25cae1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-09-04 18:52:29 +02:00
Milian Wolff
63b5082ea8 Unhide QObject::parent() from QAbstract{Table,List}model.
Both overwrite QAbstractItemModel's parent taking a QModelIndex which
hides the QObject::parent() method. This must be explicitly forwarded
like e.g. QAbstractItemModel is doing.

Change-Id: I6149ae365cd8467248f4ca79a3cb898e62068b10
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-09-04 18:52:29 +02:00
J-P Nurmi
dc7972b261 Fix qt_pixmapToWinHICON() not to return invalid HICON for null pixmaps
Change-Id: Ieda923bf27514a3daa8a5de7836511ab32346260
Reviewed-by: Ivan Vizir <define-true-false@yandex.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-09-04 17:24:51 +02:00
Paul Olav Tvete
b855e57804 Fix layouts with expanding items with maximum size
Layout items with a Preferred size policy would be treated as fixed
size if they were in the same layout as an Expanding item (or one with
a stretch factor).

This occurred e.g. if a layout was configured similar to this:
1. One item with ExpandFlag/stretch but with a maximumSize set,
   e.g. (100x100).
2. Another item with 'just' GrowFlag, and a maximum size bigger than
   its  size hint.

If the above layout was resized to e.g. (200x50) it would cause the
expanding item to correctly get the size (100x50), but the 'growing'
item would not stretch beyond its size hint.
Instead, it would distribute space around both items, behaving as if
the 'growing' item was fixed'.

The expected behavior is to continue to grow the 'growing' item after
the expanding item has reached its size limit.

Task-number: QTBUG-33104

Change-Id: Ie410653d905f7ca4d702528dafb269f30a0e4f61
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-09-04 15:09:47 +02:00
Richard Moe Gustavsen
8b7a8efe66 QPluginLoader: add 'staticPlugins' function
Currently there is no API to extract the meta data
from static plugins. This is needed in e.g QtDeclarative
for loading static module plugins.

This patch moves the 'staticPlugins' function from
QLibraryPrivate into QPluginLoader, and makes it public.
As such, we now also export QStaticPlugin.
Since an application developer cannot do much with raw
metadata, we add a new function
QStaticPlugin::metaData() that returns the QJsonObject
for the plugin. The old metaData function is
renamed 'rawMetaData'.

Change-Id: Idb0bf9ad8ebb13340565512e1998b26e762a357e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-04 09:38:35 +02:00
Robin Burchell
500deb9a08 eglfs: Check for a valid window handle before attempting to retrieve resources.
In the case of a window that is not yet shown, or destroyed, there
will not be a native handle, and this would crash.

Change-Id: Ib8c1a4490d82654d04073dac240eaa1275cbc1b0
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-09-04 09:38:35 +02:00
Caroline Chao
afce2b528c Fix QSpinBox size calculation problem with stylesheets
Problem caused by change a317ee0a6f

Task-number: QTBUG-31602

Change-Id: Ie8948445a58f51946f21d567ba91f9f10b848f8b
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-09-04 08:01:11 +02:00
Thiago Macieira
7012db159b Enable -Werror for all of qtbase
This change applies to all qtbase modules, tools and applications. It
does not apply to examples or unit tests.

This change complements the changes done to mkspecs/qt_common.prf
(especially 043b809197 and
ebfd85a499). It enables -Werror checking
in qtbase for GCC 4.6-4.8, Apple clang 4.0-4.2 and ICC 13.0-14.0.

Change-Id: I6d29a7a1b3716960a149409f551363385991714c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-09-04 01:50:10 +02:00
Thiago Macieira
7ac6ce2133 Fix ICC warnings about functions declared but not used
Added Q_DECL_UNUSED for the function used in Q_ASSERT; removed the
functions that really weren't used and added the #ifdef for the
function that was only used under #ifdef.

qmetaobjectbuilder.cpp(93): warning #177: function "priv" was declared but never referenced
qobject.cpp(2349): warning #177: function "check_and_warn_compat" was declared but never referenced
qpathsimplifier.cpp(141): error #177: function "<unnamed>::Rational::isValid" was declared but never referenced
qtextengine.cpp(2584): error #177: function "<unnamed>::QScriptItemComparator::operator()(const QScriptItem &, const QScriptItem &)" was declared but never referenced

Change-Id: I89a140d59211f10ecd88d751f0bcc0ea2fedff7f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-04 00:05:12 +02:00
Thiago Macieira
f62b05ccf1 Fix -Wno-error=deprecated for GCC and Clang
Commit a7ba0ad93e introduced the -Wno-
language. The warning about deprecated functions, variables or types is
-Wdeprecated-declarations.

Change-Id: I6d269851afefc6a3fc3bf6599c3c702eb164245e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-09-04 00:05:12 +02:00
Samuel Gaist
85fc95f346 Add QPA session manager
The QSessionManager doesn't allow customization in platform independent
way. The new QPlatformSessionManager aims to change that. Now the
QSessionManagerPrivate has a new QPlatformSessionManager member to
forward all the calls to QSessionManager's functions. If no platform
manager is present, the current behavior is used.
QPlatformSessionManager mimics the current QSessionManager behavior.

A new factory function has been added to QPlatformIntegration to return
a QPlatformSessionManager

Task-number: QTBUG-28228
Change-Id: Ida7ac16a8f5303df5014fcb67878170ebdb37203
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-09-04 00:05:12 +02:00
Rafael Roquetto
a871f224f8 Fix compilation on BlackBerry Playbook
Implement pps_decoder_is_integer() function, which is not present on Playbook
by default.

Change-Id: Iff0974f3f178bf9c39aa05b4e1be87b2b7a9344e
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2013-09-03 22:21:49 +02:00
Giuseppe D'Angelo
10e690506e Remove qSort usage from rcc
QtAlgorithms is getting deprecated,
see http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: I09dc82b7f9509f73c7b8b9c16a08fefb8ca0b8a5
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-09-03 22:21:02 +02:00
Thiago Macieira
e82c7a8abf Give QWindowsNativeFileDialogEventHandler a virtual destructor
GCC complains about this class having virtuals and no virtual destructor.

C:/Qt/qt5/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp:750:20: warning: deleting object of polymorphic class type 'QWindowsNativeFileDialogEventHandler' which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]

Change-Id: I7494fce4bb71ed65954226259fa65fdc507ca403
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-09-03 17:29:20 +02:00
Andrew Knight
5bf16380d2 QColorDialog: wrap setCursor calls in #ifndef QT_NO_CURSOR
QColorDialog mistakenly assumes setCursor will work everywhere.

Change-Id: Ia5e513f6825c931ce42276ea2eb581e049c5b41a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-09-03 14:31:06 +02:00
John Layt
5ec1c7727b QDateTime - Add api for Time Zone Abbreviation
Add a new method to return the time zone abbreviation for the current
time spec.  For LocalTime this is the abbreviation returned by mktime.

This new method will later be used in changes to the date formatter
and QTimeZone.

Note this change does not implement WinCE support.

[ChangeLog][QtCore][QDateTime] Add method timeZoneAbbreviation() to
return effective time zone abbreviation.

Change-Id: I265a5e96c72eb7236974f80f053f1fb341e3c816
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2013-09-03 14:31:06 +02:00
Sergio Ahumada
89ee4a50b0 iOS: Skip qtserialport module
This module doesn't build for iOS yet

Change-Id: I625b27a39637c0b816a9136d3eabfe2c0073f108
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-09-03 14:31:06 +02:00
Friedemann Kleint
835a7bc0a0 Skip tst_QGraphicsProxyWidget::popup_subwidget on Windows.
Task-number: QTBUG-33213
Change-Id: I1c8daa3a859f9d0d760054f1d8934abd84f62f0d
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
2013-09-03 12:48:03 +02:00
Andrew Knight
a2643e2b17 Fix test compilation when QT_NO_CURSOR is defined
The implicitConstruction() test case will fail to compile if QCursor is
unavailable.

Change-Id: If26743995505a48da648a2fa2a498debec91c933
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-09-03 12:05:59 +02:00
Andrew Knight
cd582f8410 Add QT_NO_PROCESS guards in tests where they are missing
A handful of tests lack QT_NO_PROCESS guards, making them non-compilable
on Qt builds with no QProcess support. This commit does not change
QProcess-specific tests, which should be left out of the build using the
.pro file mechanism.

Change-Id: Iac8562428abc1f59ccbb23bf5c3a919785e41f12
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-09-03 08:42:24 +02:00
David Faure
5bd6a4b71a Fix typo in qwaitcondition_unix.cpp
Change-Id: Ifc1fdaaa05275b6f68a868a2fc8ccc332e5355ce
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-02 23:13:59 +02:00
J-P Nurmi
75823d9c0b Fix QAbstractTextDocumentLayout::registerHandler() argument name
Use the same argument name than in the header and docs -> no longer
need for the \fn command in the docs either.

Change-Id: Id84cb9298e0cb1b61df704603590d86f25323f2d
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-09-02 19:39:26 +02:00
Oswald Buddenhagen
cd74325998 don't install non-framework headers in addition to frameworks, take 2
the redundancy is entirely unnecessary at this point.
the cmake problem that prompted the revert has been fixed long since by
commit 4f5f9331d9.

This reverts commit 215f137e29,
thus restoring 6d61dfdbb74a2055438b999c6962f89cc3388eea..

Change-Id: I94749dc18d924163e9c9add500078d88ccd00ffc
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-09-02 17:58:28 +02:00
J-P Nurmi
eee062b1b9 Fix typo in QTextDocument::contentsChange() arguments
Change-Id: I2a9a130e77d87041a6551fea1056f3480d45e548
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-09-02 17:58:28 +02:00
Andy Shaw
74a0cb417f Make sure QPrinter::Folio maps to the right paper size on Windows
Since there are two different Folio specifications (Adobe and Microsoft)
then we need to ensure we consistently use the same one across all
platforms. Therefore we change the one on Windows to match the
corresponding standard paper and add a note explaining how to get the
DMPAPER_FOLIO size.

Change-Id: I0f20ba5598ef8f680125fcd33dbc6924bd521d75
Reviewed-by: John Layt <jlayt@kde.org>
2013-09-02 16:26:21 +02:00
Yoann Lopes
040fa04882 Added applicationState() to QGuiApplication.
We only had the QApplicationStateChangeEvent to know about the
application state. Added a function and a signal to offer a more
convenient way to query the current state.

Change-Id: I926aac0b3b53bd285df5825aff5b4c37ae863d03
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-09-02 16:26:21 +02:00
Alex Blasche
e040a27331 Add qdoc ignore tag for new QtPositioning API.
Change-Id: If725ac4e523d56a8dc274f8d6b53c0c34064ca06
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-02 16:26:21 +02:00
Thorbjørn Martsum
0bcfa3d5d9 QHeaderView - add maximum section size
When we auto resize it is handy to be able to limit the maximum
size (just like the minimum size).

[ChangeLog][QtWidgets][QHeaderView]A maximumSize for sections
has been introduced. The maximum section size is by default
the largest possible section size which in Qt 5.2 has been
limited to 1048575 pixels.

Task-number: QTBUG-4346

Change-Id: Ida9cbcc11bd5c4498e319df2e6379c69a7033c04
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-09-02 16:26:21 +02:00
David Faure
8f4b6f1cd1 item delegates: fix clicking on tristate checkboxes.
QCheckBox cycles through the 3 states, but item delegates didn't
do that.

Change-Id: Iad1e464341033ca357925fe8064f53bb584459f4
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-09-02 16:26:21 +02:00
Sergio Ahumada
0a3eb0fe44 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-09-02 16:26:21 +02:00
Tobias Hunger
cee7380c04 QStyleSheetStyle: Fix (!a != b)
The '!' binds to a, so the comparison is not what is expected.

Change-Id: I9192d16e901a9ba6dd13625be544cce6b2fd78c6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-09-02 16:26:21 +02:00
Tobias Hunger
275c940340 QDoc: Fix (!a == b) bug
This is (!a) == b which is not what is intended here.

This exact bug was fixed in a couple of other instances of the QmlJSParser
(in QtCreator and Qt itself) by now.

Change-Id: I46a50153d7c349f21e0a888e2e3b4c4fa65c27c0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-09-02 16:26:21 +02:00
Andrew Knight
3097129192 Fix remaining use of QTEST_NOOP_MAIN
QTEST_NOOP_MAIN was removed in Qt 5, but was still in the source of the
QProcessEnvironment auto test.

Change-Id: I0048c330c9d4e99c46192cc05ffd3b77d404fb6d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2013-09-02 14:59:02 +02:00
Andrew Knight
f6a7092309 Fix possible build failure in windowcontainer example
The windowcontainer example utilzes the openglwindow example, so it
must also check that OpenGL is available.

Change-Id: I7ecb372cfd533bb56effe7c61ebee9bd53de4c54
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-09-02 14:59:02 +02:00
Andrew Knight
a05a3f6550 Remove qguieventloop from auto tests if network is unavailable
This test relies on network support.

Change-Id: I8918a7fe2f411fcaa2e4300486b8a66c63898221
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-09-02 14:59:02 +02:00
Andrew Knight
2e75cd55db Remove qopengl auto test when Qt is not configured with OpenGL support
Change-Id: Id2fbf9308c5dbce5e7778f0d841cc8bda784a80f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-09-02 14:59:02 +02:00
Tobias Hunger
4b7cd57719 QDbus: Fix (!a == b) comparison
! binds to a, and that is wrong here.

Change-Id: I746d2b82bbd03635b3aa06abb0c5566f84a03128
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-02 13:07:44 +02:00
Morten Johan Sørvig
8fc97fdfc7 Revert Mac event loop changes.
"Make QGuiApplication::exec() run within NSApplicationMain()"
"Make Qt process native and timer events on Cocoa applications"
"Cocoa: Fix QFontDialog, QColorDialog auto-tests"

This reverts commits
1e14762b8d
e4b2a0b4ba
df7944e7d7

Change-Id: I80b65b5ee0297b090f807bd420664233dfc44f7b
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-09-02 13:07:35 +02:00