Commit Graph

48 Commits

Author SHA1 Message Date
Friedemann Kleint
1dd83dd202 Diaglib/Windows: Output more information on geometry for native handles
Obtain the client area and output frame and position relative to the
parent window.

Task-number: QTBUG-79861
Change-Id: I193dfbcdec7e27d32a70ada08ba271260eedc969
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2019-11-08 11:34:11 +01:00
Thiago Macieira
7922cd5272 QChar: add FormFeed (FF) special character
[ChangeLog][QtCore][QChar] Added FormFeed (FF) special character.

Fixes: QTBUG-77089
Change-Id: I1024ee42da0c4323953afffd15b245a508f545f0
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-08-12 22:06:39 -07:00
Liang Qi
d25c322729 Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	src/network/ssl/qsslsocket_openssl.cpp
	src/platformsupport/vkconvenience/qvkconvenience.cpp

Change-Id: I97ce6ed185f7fdad8102cc58d3cfec0119fd7bb4
2019-07-01 10:21:37 +02:00
Friedemann Kleint
530c6903a4 Brush up Diaglib
Fix most clang warnings about override, nullptr, range-based for loops.

Change-Id: Id47e57adb63a38e2f397a31511b788a2432c97cf
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-06-24 08:56:00 +02:00
Friedemann Kleint
761f88f8ba Diaglib: Improve formatting of DebugProxyStyle
The class used the default debug operator for QObject, which outputs
the object's address. This makes it hard to compare the log output.

Make the existing QObject formatting helper from the EventFilter
publicly usable by providing a helper with a stream operator.

Change-Id: Ifab83e23cc792a5efe231fd9ae84e0439ab0d609
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2019-06-04 08:02:12 +02:00
Liang Qi
b1a216649e Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	qmake/generators/makefile.cpp
	qmake/generators/unix/unixmake2.cpp
	src/corelib/thread/qthread_unix.cpp
	tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp

Change-Id: I1df0d4ba20685de7f9300bf07458c13376493408
2019-06-14 13:45:18 +02:00
Liang Qi
32b506d1db Merge remote-tracking branch 'origin/dev' into 5.11
Conflicts:
	src/corelib/tools/qvarlengtharray.qdoc
	src/corelib/tools/qvector.qdoc

Resolved documentation changes in favor of 017569f702,
which keeps the move overloads along with its const-ref sibling.

Change-Id: I0835b0b3211a418e5e50defc4cf315f0964fab79
2018-02-10 15:55:52 +01:00
Friedemann Kleint
2bf4dd1302 Diaglib: Make mouse event logging more verbose
Add information about mouse tracking/grabbing for widgets
and window where applicable.

Change-Id: Idfe8bef6d146ff06dfe95c0bad5e29e7a4ea7adc
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2018-02-02 07:20:55 +00:00
Friedemann Kleint
cb142954c5 XCB: Implement native window dump for diaglib
Extract a helper function to determine the window title from QXcbConnection
and add an invokable function to the native interface that dumps the window
tree similar to existing functionality on Windows.

Change-Id: I5544d69ea2b801eb16d3b5b8d64021b3e567b0d8
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2018-01-24 14:39:16 +00:00
Kevin Funk
58c14c4a7e Replace Q_NULLPTR with nullptr where possible
Remaining uses of Q_NULLPTR are in:
src/corelib/global/qcompilerdetection.h
  (definition and documentation of Q_NULLPTR)
tests/manual/qcursor/qcursorhighdpi/main.cpp
  (a test executable compilable both under Qt4 and Qt5)

Change-Id: If6b074d91486e9b784138f4514f5c6d072acda9a
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2017-09-19 11:53:55 +00:00
Joerg Bornemann
ce1830fd21 Migrate Windows system libs to external dependencies
Started-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Change-Id: I211ce3252b836894aeeac1c85eb316d9596bca57
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-05-08 08:30:02 +00:00
Kai Koehne
b2efaeba79 tests: Unify license to GPL-EXCEPT
Change-Id: Ic718650a8a7bddd4ee28c5650a3f5baf70886e51
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2017-04-03 07:18:46 +00:00
Friedemann Kleint
a9383ef99a Diaglib: Output DPI and scale factors
Also pass options to formatWindow().

Change-Id: Ifa506331ea010087bfd7ab8bd3f7dda531f142a8
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2017-03-21 07:16:57 +00:00
Friedemann Kleint
2c935ef565 Diaglib: Fix WinRT exclusion
Amends change 8deeb6777d.

Change-Id: If403871b1fb117a3f8042e0e2397e6d521d17beb
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2017-03-20 15:04:25 +00:00
Friedemann Kleint
8deeb6777d Diaglib: Exclude Win32 window dump functions for WinRT
Change-Id: I1323b2212266b3cd7a355c6c022e3f2d2822f210
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2017-02-08 21:06:45 +00:00
Edward Welbourne
782ebeada1 Merge remote-tracking branch 'origin/5.7' into dev
Conflicts:
	qmake/library/qmakebuiltins.cpp
	qmake/library/qmakeevaluator.cpp
	qmake/library/qmakeevaluator.h
	qmake/project.h
QMakeEvaluator:
* evaluateConditional(): one side changed return type, the other
  changed a parameter type.
* split_value_list(): one side changed a parameter adjacent to where ...
* expandVariableReferences(): ... the other killed one overload and
  changed the survivor

	src/corelib/io/qlockfile_unix.cpp
One side changed a #if condition, the other moved NETBSD's part of
what it controlled.

	src/corelib/tools/qdatetime.cpp
One side fixed a reachable Q_UNREACHABLE in toMSecsSinceEpoch(), the
other moved it from the private class to the public one, in the midst
of the "short date-time" optimization, which confused diff entirely.
One side changed a QStringLiteral to QLatin1String, the other rewrote
adjoining code.

	src/network/kernel/qauthenticator.cpp
Both rewrote a line, equivalently; kept the dev version.

	src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
	src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h
One side changed #if-ery that the other removed.

	tools/configure/configureapp.cpp
One side added a check to -target parsing; the other killed -target.

	tests/auto/testlib/selftests/expected_cmptest.lightxml
	tests/auto/testlib/selftests/expected_cmptest.teamcity
	tests/auto/testlib/selftests/expected_cmptest.txt
	tests/auto/testlib/selftests/expected_cmptest.xml
	tests/auto/testlib/selftests/expected_cmptest.xunitxml
Regenerated using generate_expected_output.py
I note that quite a few other expected_* come out changed, now.

There was no git-conflict in
	src/widgets/kernel/qformlayout.cpp
but it didn't compile; one side removed some unused methods; the other
found uses for one of them.  Put FixedColumnMatrix<>::removeRow(int)
back for its new user.

Change-Id: I8cc2a71add48c0a848e13cfc47b5a7754e8ca584
2016-07-19 20:14:40 +02:00
Friedemann Kleint
fbe67f06bc Diaglib: Build DebugProxyStyle only when QtWidgets are used
Change-Id: Iba1ca731ac569db12211a93f65583d73ffcfce91
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2016-07-01 09:25:42 +00:00
Liang Qi
511790fd1a Merge remote-tracking branch 'origin/5.7' into dev
Conflicts:
	config_help.txt
	configure
	mkspecs/features/uikit/sdk.prf
	src/corelib/global/qhooks.cpp
	src/corelib/io/qfilesystemwatcher.cpp
	src/corelib/io/qlockfile_unix.cpp
	src/corelib/tools/qalgorithms.h
	src/gui/kernel/qwindowsysteminterface.h
	src/gui/text/qtextdocument_p.cpp
	src/network/access/access.pri
	src/network/access/qnetworkaccessmanager.cpp
	src/network/access/qnetworkreplynsurlconnectionimpl.mm
	src/src.pro
	src/testlib/qtestcase.cpp
	src/widgets/kernel/qwidgetbackingstore_p.h
	src/widgets/styles/qwindowscestyle.cpp
	src/widgets/styles/qwindowsmobilestyle.cpp
	tests/auto/corelib/io/qdiriterator/qdiriterator.pro
	tests/auto/corelib/io/qfileinfo/qfileinfo.pro
	tests/auto/gui/kernel/qwindow/BLACKLIST
	tests/auto/widgets/dialogs/qfilesystemmodel/tst_qfilesystemmodel.cpp
	tools/configure/configureapp.cpp

Change-Id: Ibf7fb9c8cf263a810ade82f821345d0725c57c67
2016-06-13 12:46:46 +02:00
Friedemann Kleint
d2c6294bd5 Diaglib: Add class LogWidget.
Add a class to display debug messages, providing convenience functions for
installing and formatting parameters like indentation. It prints a startup
message containing relevant information about Qt.

Change-Id: Id0a19adbb5953a6ded1a8e692f242b63748e7273
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-06-09 20:16:47 +00:00
Liang Qi
57057f76ad Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
	.qmake.conf
	config.tests/unix/nis/nis.cpp
	mkspecs/unsupported/freebsd-g++/qplatformdefs.h
	src/corelib/tools/qdatetime.cpp
	src/corelib/tools/qsimd.cpp
	src/corelib/tools/qsimd_p.h
	src/network/access/access.pri
	src/network/access/qnetworkreplynsurlconnectionimpl.mm
	src/network/access/qnetworkreplynsurlconnectionimpl_p.h
	src/plugins/platforms/cocoa/qnsview.mm
	src/plugins/printsupport/windows/qwindowsprintdevice.cpp
	tests/auto/corelib/kernel/qobject/tst_qobject.cpp
	tests/auto/network/access/qnetworkreply/BLACKLIST
	tests/auto/widgets/widgets/qopenglwidget/BLACKLIST

Change-Id: I4b32055bbf922392ef0264fd403405416fffee57
2016-06-06 09:04:55 +02:00
Friedemann Kleint
fd70978693 Diaglib: Extend class information for QWidget dumps.
Output the class hierarchy until a base class within QtWidgets is found.

Change-Id: I0ecee22e2ead1dea8b39cce8ca2f0739290aac22
Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com>
2016-06-04 18:49:27 +00:00
Friedemann Kleint
2be25273e1 Remove window flags WindowOkButtonHint, WindowCancelButtonHint.
They were duplicating other enumeration values
(WindowTransparentForInput, WindowOverridesSystemGestures) and were
only supported on Windows CE.

Task-number: QTBUG-42897
Task-number: QTBUG-51673
Change-Id: I993a933ee2a3dc8a0ebd7ba6aef80b456f50a657
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-04-20 08:00:46 +00:00
Friedemann Kleint
39a3be72a4 diaglib: Add more output to DebugProxyStyle.
- Add output for QStyleOptionViewItem.
- Also wrap styleHint().

Task-number: QTBUG-48916
Change-Id: If28bd89b7d175b7a83ee0c8e2538906796fd8426
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-03-16 08:13:53 +00:00
Liang Qi
d3e6e732c7 Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
	config.tests/unix/compile.test
	src/plugins/platforms/cocoa/qcocoahelpers.mm
	src/tools/qlalr/cppgenerator.cpp

Change-Id: I0103ca076a9aca7118b2fd99f0fdaf81055998c3
2016-02-02 15:57:44 +01:00
Friedemann Kleint
ae5c4500c5 Diaglib: Improve output of widgets.
- Make it possible to pass an optional root widget to dumpAllWidgets().
- Add option to output size constraints of widgets/windows.
- Output normal geometry of top levels.

Change-Id: Ib48809d070c5721fe4688a2ad39cb99f286618de
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-01-26 13:33:09 +00:00
Jani Heikkinen
f776595cc1 Updated license headers
From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some
exceptions, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/

Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one
(in those files which will be under GPL 3 with exceptions)

Change-Id: I42a473ddc97101492a60b9287d90979d9eb35ae1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-01-21 18:55:18 +00:00
Simon Hausmann
6b8c0a5058 Merge remote-tracking branch 'origin/5.6' into dev
Change-Id: I5839bded07e23af65ced9491c4f50242f964dd31
2016-01-12 11:07:56 +01:00
Friedemann Kleint
f186c4a819 Diaglib: Fix and extend dumping of native windows (Windows).
When recursing over the windows, the code did not take into account
that EnumChildWindow enumerates grand children as well. Exclude
those by checking for the direct parent in the recursion so that
the hierarchy is printed correctly. Add more information about
class and module and rearrange the output a bit so that the window
title is more prominent.

Task-number: QTBUG-50206
Change-Id: Iffb12c44eda9d09da5eb14a8405aee52ed3aa849
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2016-01-11 07:56:17 +00:00
Frederik Gladhorn
ad16478a76 Merge remote-tracking branch 'origin/5.6' into dev
Based on merge done by Liang Qi

Change-Id: Id566e5b9f284d29bff2199f13f9417c660f5b26f
2016-01-08 12:35:24 +01:00
Friedemann Kleint
a62132b22c Diaglib: Output more information about QWindow.
Output surface class/type, screen name and scaling factors.

Task-number: QTBUG-50206
Change-Id: I88d3494962b29985cd9e492c1761361b73e0172e
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2016-01-06 13:04:59 +00:00
Liang Qi
c7934f2489 Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
	src/corelib/io/qprocess.cpp
	src/corelib/io/qprocess_unix.cpp
	src/network/kernel/qnetworkinterface_winrt.cpp
	tools/configure/configureapp.cpp

Change-Id: I47df00a01597d2e63b334b492b3b4221b29f58ea
2015-11-18 09:01:51 +01:00
Konstantin Ritt
0e1f3aab11 Update Unicode data & algorithms up to v8.0
* Georgian lari currency symbol
* A large collection of CJK unified ideographs
* Emoji symbols and symbol modifiers
* Letters to support the Ik language in Uganda, Kulango in
  the Côte d’Ivoire, and other languages of Africa
* A set of lowercase Cherokee syllables, forming case pairs
  with the existing Cherokee characters
* The Ahom script for support of the Tai Ahom language in India
* Arabic letters to support Arwi—the Tamil language written in the Arabic script

For more details, see http://www.unicode.org/versions/Unicode8.0.0/

[ChangeLog][QtCore] Unicode data updated to v.8.0

Change-Id: If255f95c9c45655b721369a116299da3cabbba0a
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2015-11-05 08:25:02 +00:00
Friedemann Kleint
9720efbd10 Diaglib: Add class DebugProxyStyle.
Add a debug proxy style that wraps around an existing style and outputs
the parameters and return values of its function calls, for debugging
QStyle.

Task-number: QTBUG-47084
Task-number: QTBUG-45055
Change-Id: I638618e83bbac8ca4fdce31441bf4c913e911154
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
2015-10-23 07:47:44 +00:00
Friedemann Kleint
45bf434cdc Diaglib: Output QGuiApplication::focusObject() in focus changes, too.
This is useful for diagnosing QML focus issues.

Task-number: QTBUG-48199
Change-Id: Iff2cc35850e7020a9198b38256d1331587d0eefb
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
2015-09-15 13:24:14 +00:00
Friedemann Kleint
0b8cb39d34 Diaglib: Output window/widget state(s).
Change-Id: I0f27027c95ed70a0b2992c58df7e12eddfad17e3
Task-number: QTBUG-46416
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-06-11 07:55:08 +00:00
Konstantin Ritt
a37daf99ad [DiagLib] Sync QChar enums
These values were added as part of upgrading to Unicode 7.0

Change-Id: Ib208828a7685ba4f89f0e2f06033f74c8ff13532
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
2015-05-01 05:35:46 +00:00
Friedemann Kleint
3e503b197d Diaglib: Add gesture events to event filter.
Task-number: QTBUG-45134
Task-number: QTBUG-45120
Change-Id: I9b2420ec302dfff173fbc8e3173d6ef0fcf095e0
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2015-03-20 12:27:21 +00:00
Jani Heikkinen
83a5694dc2 Update copyright headers
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.

Outdated header.LGPL removed (use header.LGPL21 instead)

Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing
combination. New header.LGPL-COMM taken in the use file which were
using old header.LGPL3 (src/plugins/platforms/android/extract.cpp)

Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license
combination

Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe
Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
2015-02-11 06:49:51 +00:00
Frederik Gladhorn
fc35f71434 Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro
	src/gui/image/qimage_conversions.cpp
	src/gui/opengl/qopenglextensions_p.h
	src/gui/text/qtextengine.cpp
	src/network/ssl/qsslsocket_openssl.cpp
	src/plugins/platforms/eglfs/qeglfshooks_stub.cpp
	src/plugins/platforms/eglfs/qeglfsscreen.cpp
	src/plugins/platforms/eglfs/qeglfswindow.cpp
	src/plugins/platforms/windows/qwindowsfontdatabase.cpp
	src/plugins/platforms/windows/qwindowsfontdatabase_ft.cpp
	src/plugins/platforms/windows/qwindowsnativeinterface.cpp
	src/plugins/platforms/windows/qwindowsscreen.cpp
	src/plugins/platforms/windows/qwindowswindow.cpp
	src/plugins/platforms/windows/qwindowswindow.h
	src/plugins/platforms/xcb/qxcbdrag.h
	src/widgets/itemviews/qabstractitemview.cpp
	src/widgets/kernel/qwidget.cpp
	src/widgets/util/qsystemtrayicon_p.h
	tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp

Thanks to Friedemann Kleint for resolving the qwindowsfontdatabase.cpp
conflicts.

Change-Id: I937232c30523d5121c195d947d92aec6f129b03e
2015-02-10 09:42:25 +01:00
Friedemann Kleint
c56da2e8da Diaglib: Fix compilation with MSVC 2010 / SDK 7.X.
Change-Id: Idf6adc6d3788c3ac6fda770c4cf42bceb530cd48
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-05 05:21:26 +00:00
Friedemann Kleint
cebd6d59cb Diaglib: Fix compilation with Qt 5.3.
QDebug does not have noquote() in Qt 5.3.

Task-number: QTBUG-44021
Change-Id: If35b926d6b1e5bb9ad3534357630533dfcecd076
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-01-23 09:45:59 +01:00
Friedemann Kleint
9d1bcd727a Diaglib/Event filter: Output application state on focus events.
Output the current active/modal/popup windows when receiving
FocusAboutToChange or FocusIn events.

Task-number: QTBUG-42731
Change-Id: Ia88e9a9b41f7c80fb7a2a048b06da56d989ff18a
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2015-01-16 17:25:20 +01:00
Friedemann Kleint
b6514cf307 Diaglib: Add helper functions for analyzing non-Latin strings.
Add a functions to dump out texts character by character and
as code.

Task-number: QTBUG-43191
Change-Id: I1ac17f2485563f909b71bb1fbd1fd595d1d94223
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-12-19 16:19:30 +01:00
Friedemann Kleint
3740fb41fe DiagLib: Add Wheel event to mouse event category of the event filter..
Task-number: QTBUG-42731
Change-Id: Ib0293a245ed430bd86a1ceb221628b3044ad305e
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-12-11 16:10:32 +01:00
Friedemann Kleint
0a91f15878 Diaglib: Fix another typo in .pri file.
Change-Id: I2888c4fb9947d61285a8a570661a29e61b10bbce
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2014-12-05 15:32:37 +01:00
Friedemann Kleint
4680052063 Diaglib: Fix typo in .pri file.
Fixes compilation with Qt 4.

Change-Id: I66781089cd4c07a33f8136706e3211a21f41039f
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-11-27 09:26:41 +01:00
Friedemann Kleint
f96cd3187d Improve diaglib.
- Fix prototype for glinfo() for Qt 4
- Add more event types and object type flags to event filter.

Change-Id: Ia4160b40486d054e860a339e7b5c9c28695330ae
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-11-25 22:39:39 +01:00
Friedemann Kleint
034ff4deaf Add diaglib under manual tests.
Add a set of helper functions and classes providing functionality
for dumping widget/window hierarchies and logging events. They
can be used by including a .pri file for diagnosing bugs and
comparing Qt 5 to Qt 4.

Change-Id: I0206f8e57b02540cd80a3e9446c894023d442ddc
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-11-13 12:14:51 +01:00