Commit Graph

9192 Commits (9e035d9de2d1c775dd02eca2df5d8ebf5aca41ad)

Author SHA1 Message Date
hluk 9e035d9de2 Use Qt::Key_unknown for unknown keys instead of -1 with xcb
Task-number: QTBUG-3515
Change-Id: I9875437744455a2cce2da075c1fa6e2a91f55b63
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-04-24 17:15:49 +02:00
Stephen Kelly 106dc410e9 Use variadic templates to mark function pointers as non-QObjects.
Change-Id: I4d4e7a0498ff8f5b834dae4008d1311838180036
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-04-24 14:19:26 +02:00
Konstantin Ritt affdd9d00c Improvements for DirectWrite font engine
- don't check if m_directWriteFontFace is not null, it MUST be initialized
  just in the constructor;
- fix support for surrogate pairs in stringToCMap();
- reorder some affected code for better readability.

Change-Id: Ibdcf7b50f06910e95cefe074f33932b8fbcdcfe1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-04-24 14:12:41 +02:00
Morten Johan Sørvig 3f58fc00c9 Guard usage of m_cocoaPlatformWindow.
m_cocoaPlatformWindow is cleared when Qt is "done"
with the QNSWindow or QNSPanel to prevent messages
from Cocoa calling into possibly stale pointers.

Change-Id: Id42b794fedbd3e597a0c4b50584cca976ba74c0f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-04-23 07:45:03 +02:00
Kevin Ottens aa5f70c00a Make sure QIconLoader is always initialized
It is necessary to properly initialize the icon loader in all case.
Otherwise some calls might give wrong results if a platform theme plugin
is involved.
For instance, we might miss the actual theme name reported by the
platform theme, eg it's what happen with QStyle::standardPixmap if no
one created a QIcon before its first call.

Also clean up the accesses to the global static and have only
QIconLoader::instance() use it. All other call go through the static
method. This way only instance() needs to call ensureInitialized(),
definitely safer and looks cleaner to me.

Change-Id: Id3ea6816edd5a65586004f69464960abc3602cf8
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-04-22 20:19:28 +02:00
Christoph Schleifenbaum ae0fd6884d QAbstractScrollArea - add SizeAdjustPolicy and viewportSizeHint
This patch adds SizeAdjustPolicy to QAbstractScrollArea.
If it is set to AdjustToContents it will make use of the new
protected viewportSizeHint() (BC since it was reserved in Qt5).
This function returns a suggested size based on contents.

Change-Id: I5d8aa517e88b8b21c5712e62b4d574c3aad99d3b
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-04-22 17:56:55 +02:00
Peter Hartmann 7df16fb4cc SSL namespace: Add enum to disable SSL session sharing
There is already an enum to disable SSL session tickets, which has been
used to disable session sharing for now. However, SSL session sharing
is not the same as SSL session tickets: Session sharing is built into
the SSL protocol, while session tickets is a TLS extension (RFC 5077).

Change-Id: If76b99c94b346cfb00e47366e66098f6334fd9bc
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-04-22 10:58:14 +02:00
Morten Johan Sørvig c5a3cfa488 Compile with Clang.
This bug surfaced after we switched Mac over to use
clang's libstdc++, which has __builtin_popcount but
does not mark it as constexpr.

Change-Id: I4260af48b00c6db3322e52fb113075d305b1e1ec
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-04-18 22:27:04 +02:00
Frederik Gladhorn 94758589fe Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-04-17 10:28:21 +02:00
Sergio Martins 893deb1a93 QNX: Fix filenames returned by the file dialog.
QUrl prefixes like file:// should be used. QFileDialog will use
QFileInfo later on, and that doesn't support QUrl prefixes.

Change-Id: I8f6d2fb9a4f502cff030a1cdd43b047b8ed5a120
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2013-04-17 02:22:50 +02:00
Darryl L. Miles 5f9d58848a Json writer, support larger signed integers upto 2^53
Previously only 32bit signed integers were ensured to be supported by
JsonValue type via API but it is expected that a larger integer range
should be supported by a JSON implementation.

This commit brings the Qt implementation into parity with NodeJS
JSON.stringify() in respect of the JavaScript Number type.

Change-Id: If91153cb3b13ecc14c50da97055b35ce42f341e7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-04-12 22:33:23 +02:00
Darryl L. Miles 6348de8737 Json writer, emit full precision for floating point Number types
Previously Qt JSON writer would only emit 6 digits of precision as this
is the default with the formatter.

However with testing against NodeJS JSON.stringify() this behavior is
inconsistent with the defacto standard JSON implementation and conveys
a loss of precision.

Change-Id: Ie1845a6e0ee0b4c05f63ec0062f372e891855f0b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-04-12 22:33:19 +02:00
Darryl L. Miles e2d614b6a9 Json writer, only emit floating point finite numbers, ignore INF/NaN
My interpretation of RFC4627, Section 2.4 "Numbers" of:
  Numeric values that cannot be represented as sequences of digits
   (such as Infinity and NaN) are not permitted.

I have also verified this matter with NodeJS JSON.stringify() that
emitting a null is consistent behavior with a JSON implementation
written in JavaScript.

Previously Qt would emit:
{
 plusInfinity: inf,
 minusInfinity: -inf,
 notANumber: nan
}

Which maybe turned into a string values of "inf", "-inf", "nan" by
the receiving parser.  Now it returns the JSON null value just like
NodeJS JSON.stringify().

Change-Id: I9f9c17f12b2606280806c47a9d90465c4ba5f786
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-04-12 22:33:13 +02:00
Frederik Gladhorn aa3754d105 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Iee73c93067c5822d8dd51a8692e6da9df4ba49f5
2013-04-12 12:53:13 +02:00
Friedemann Kleint 8c81b282f8 Widgets: Propagate 'accepted'-state of touch begin events.
Task-number: QTBUG-29946

Change-Id: Ia9ac54251f52b6ae4b3d667e49b96441def72a57
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-04-12 09:31:51 +02:00
Friedemann Kleint f8a047d843 Fix Windows CE compilation.
Breakage introduced by 11e9f1368b .

Simplify #ifdef-blocks.

Task-number: QTBUG-30063
Change-Id: I0710915ff7b0ad5947935904c43ff9b621f638f2
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
2013-04-12 09:31:51 +02:00
Janne Anttila fc21811982 Fix qlocalsocket_tcp.cpp build for Windows Embedded Compact 7.
There is no 'name' variable, but apparently 'd->serverName' is correct
variable here. Some other methods take 'name' as an argument and have
similar code block, so I think this is a copy/paste error introduced
somewhere in the past.

Change-Id: I2e82b42688b9928e0dcc5054df04e87d30a5e38e
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Johannes Oikarinen <johannes.oikarinen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-04-12 09:31:51 +02:00
Konstantin Ritt b3dae6848d Fix leaking of QFontEngineData
QFontCache now references QFontEngineData-s it maintains,
so that QFont instances not freed prior to calling ~QFontCache()
would destroy QFontEngineData on their own.

Task-number: QTBUG-25434

Change-Id: Ia7679d64de436841f09ac7be62ceb570e50cce5b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: jian liang <jianliang79@gmail.com>
2013-04-12 04:23:35 +02:00
Gunnar Sletta 289120f8dd Enable qDebug to console when desired on Android.
Change-Id: I91906c5fc2a5b406f416c296c124a01795e69b8a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-04-12 01:25:37 +02:00
Stephen Kelly fc06df5c77 Warn if mouse event occurs outside target window in tests.
This class of bug seems to occur in 'flaky' CI tests, so give
more information about what the problem is. Found here:

 https://codereview.qt-project.org/#change,44210

Change-Id: I73908e309bdecf1fd3bc323dd4e8febe47c1239a
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-04-12 01:25:37 +02:00
Stephen Kelly 89e6183a19 Only test cmake module versions if available for test.
The expected versions are only set if the cmake tests are set up by
qmake by running

 qmake && make check

If instead someone uses cmake directly:

 mkdir build && cd build && cmake .. && ctest

the expected versions are not known, and the test fails without
this patch. So, don't test the versions if they are not known.

Change-Id: I2e8a4f651a69a8817c819d881be75ca07bc1bfd4
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-04-11 22:34:31 +02:00
Thiago Macieira 6a11dd1669 Remove unused private members [tools]
Apple Clang 4.2 caught private members that aren't used in a class
with no friends. Since this code is in a tool, there's no binary
compatibility requirement.

databaseinfo.h:71:13: error: private field 'driver' is not used [-Werror,-Wunused-private-field]
quoter.h:86:10: error: private field 'validRegExp' is not used [-Werror,-Wunused-private-field]
qmlvisitor.h:123:11: error: private field 'tree' is not used [-Werror,-Wunused-private-field]

Change-Id: Iba9995f28ddef983c9ffc1dc551f042539252704
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-04-11 21:11:33 +02:00
Fabian Bumberger e9760f1559 Fix the check if mouse events should be synthesized from touch events
In QGuiApplication only Qt::AA_SynthesizeMouseForUnhandledTouchEvents
is taken into account when synthesizing mouse from touch events, in
QApplication only the PlatformIntegration syle hint
QPlatformIntegration::SynthesizeMouseFromTouchEvents.

With this patch both attributes are checked. Furthermore the check was
moved out of translateTouchToMouse in QApplication in order not to
influence the result which is returned to the user, when mouse events
are not be synthesized.

Change-Id: I87ac7299f0a9fbf0a083eff9c547f0dbfab75dfb
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-04-11 16:09:19 +02:00
Jonathan Liu e81446141f ANGLE: Use rtti_off in CONFIG only for release
ANGLE uses dynamic_cast in debug.h for debug builds which require RTTI.

Change-Id: I0e2fea7ed751dc87624d7e76d179023accb9c126
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-04-11 16:09:13 +02:00
Fabian Bumberger b7891514ab Do not build QQnxScreenEventThread when not needed
Change-Id: I07525ac45a610f56f2bc72731379073f4aa67f7b
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-04-11 13:41:43 +02:00
Andy Shaw ac4474900c Call QString::normalized when it is constructed via the native API
When a string comes from the native APIs then it may need to be
normalized.

Task-number: QTBUG-14787
Change-Id: I5164e80efcd1d99a50263c72bcf97d7fb31b38f7
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-04-11 10:41:14 +02:00
Jan Arve Saether 3a3e9b74eb Do not show the warning if queryAI() returns an invalid interface.
We should only warn about missing a11y plugins if iface is 0, since
we obviously have the plugin otherwise.

This got triggered by that a visible widget got destructed, which in
turn called hide(), which ultimately ended up calling
QAccessible::updateAccessibility(QAccessible::ObjectHide).
When QAccessibleEvent::accessibleInterface() then called
queryAccessibleInterface(), QAI::isValid() would return false because
the widget was in its destructor.

Change-Id: If655e00e7bb3737a39e24e26dbd1e23edd515bf5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-04-11 10:09:44 +02:00
Friedemann Kleint 0b12cf613f QVector: Fix signedness warning in assert.
Task-number: QTBUG-30331

Change-Id: I91b346b36162e8146a05babd24afa4bfb7259bec
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-04-11 10:03:00 +02:00
Stephen Kelly 77db3b8d65 Merge "Merge branch 'release' into stable" into refs/staging/stable 2013-04-11 06:51:52 +02:00
Stephen Kelly 1b32185a7a Make qt5_use_modules find dependents only in the parent directory.
Similar to 70420ec3 (Look for cmake package dependents only in the parent
directory., 2013-04-02), make sure this cmake function only searches
for sibling packages as dependencies.

Change-Id: Icab23d333fa6a750ee262b592fae39f0ba334fee
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-04-11 00:51:04 +02:00
Stephen Kelly b8cd54a92f Make the umbrella Qt5 CMake Config file find components only in the parent directory.
Similar to 70420ec3 (Look for cmake package dependents only in the parent
directory., 2013-04-02), make sure cmake only searches for sibling
packages as components.

Change-Id: I9e0c13dfcdba28a9fd6892828b0f509dd63e6604
Reviewed-by: Brad King <brad.king@kitware.com>
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-04-11 00:48:58 +02:00
Konstantin Ritt c0300eed19 QFreetypeFace: Fix getFace() uses UTF-8 paths on non UTF-8 locales
QFontEngine::FaceId::filename is intended to be local8Bit-encoded
but QFreetypeFace::getFace() always treats it like UTF-8-encoded.
Also replace explicit (to|from)Local8Bit and toLatin FaceId::filename
conversions with QFile::(en|de)codeName, where appropriate.

Change-Id: Ic7beabf0a160f2f02f1667bcb8e6067adaba1c16
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-04-11 00:03:32 +02:00
Konstantin Ritt 9f7bc42b7d Fix QFontconfigDatabase unable to fallback to a localized family
When populating the font database, FcPatternGetString(FC_FAMILY) gets
a localized font family name; but, in fallbacksForFamily, it gets
a non-localized font family name, so it unable to find the proper font to fallback.
Simply register all family name variants as aliases to localized name
and make sure they are checked when getting fallback families.

Task-number: QTBUG-28806
Task-number: QTBUG-30415

Change-Id: I71c03ae9b51a28736c2576f3442f1bbdb3497c09
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: jian liang <jianliang79@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-04-11 00:03:22 +02:00
Sergio Ahumada b4283c0b46 Merge branch 'release' into stable
Conflicts:
	src/widgets/styles/qwindowsvistastyle.cpp

Change-Id: Ifd17532393ebab8ed454c6a79bab622959ceef95
2013-04-10 19:28:12 +02:00
Stephen Kelly f29b793508 Use CMake facility for verbose makefiles instead of an env var.
It should also have an effect for Visual Studio project files, not
just makefile generators.

Change-Id: I395071f09b29a6e8967a3d44e41d30480ae783f7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-04-10 17:51:51 +02:00
Jens Bache-Wiig b5b6d6f5fc Windows: Dont use black as clear color on opengl windows
Perhaps this made sense when all our open gl examples were black,
but with components and I would assume the majority of use cases
we should use the default window background color to fill exposed
window background during a resize.

Change-Id: Ia439a7c3919243efa6026e2e07bee62c25557df0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-04-10 17:51:36 +02:00
Rafael Roquetto f0425e115e QNX: Adjust rotation according to initial orientation
Task-number: QTBUG-29201

Change-Id: I37e82904e0f3d8b372b31ee7d1379e61c788c622
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
2013-04-10 17:51:36 +02:00
Sergio Ahumada 90297a64f2 Merge branch 'stable' into dev
Change-Id: Icff019d74ae04c628a80f66aa478e4db40fae464
2013-04-10 15:42:22 +02:00
Peter Hartmann f273d6fbc0 QNetworkConfigurationManager: check whether app is shutting down
... before trying to update the configurations. Before, we would check
whether the pointer to the QNetworkConfigurationManagerPrivate instance
was 0 and in that case construct it. This would mean that this code path
was taken "at app shutdown", i.e. when the qAddPostRoutine had already
been called but the other statics were still accessed.

Note: This is not thread safe, but neither is the rest of the code;
making it thread-safe would require additional changes.

Task-number: QTBUG-30585
Change-Id: I8f6cf616e3f3ba1e84b8246589fb7210d2dae57a
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-04-10 13:27:01 +02:00
Kai Koehne 0eefbf8376 Fix access to invalid memory
QString::toLatin1() creates a temporary QByteArray.

Task-number: QTBUG-30578
Change-Id: I17c60bbade1486399f745c7e9878c6467971e6cc
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-04-10 13:23:13 +02:00
Sze Howe Koh 6617b6765a Doc: Fix minor typo
Change-Id: Id99a1ea0be841cf7cfaf3c671d36dbddc290fcad
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-04-10 13:21:09 +02:00
Sergio Ahumada 31907c16f8 Remove QT_{BEGIN,END}_HEADERS macros
These macros are useless from Qt 5.1 on.

Change-Id: I4574e87ef36e7bc67d2f1caa38c685a837708764
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-10 12:53:05 +02:00
Andy Shaw f5dc5225f6 When doing a PageDown or PageUp it should show the next set of cells
Before it would skip out a row depending on the size of the tableview.
Now it will show the next set of cells for the direction it is going in.

Change-Id: I02926d0b2187ffafffb63f7fff43c233b4d7d6af
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-04-09 22:38:32 +02:00
Liang Qi 1d6325e4f1 Mac: Ensure the native filedialog sets file name when saving
The name field string was not set in native dialog when one was present.

The previous fix is not correct. In the doc of setNameFieldStringValue,
it said "The value must not be nil".

Task-number: QTBUG-28342
Change-Id: I847fb7472b8fecc0303433d8bf72b6a5bd7da72b
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-04-09 20:10:59 +02:00
Shawn Rutledge 4bcec703c4 OSX window: set QWindow geometry after native window is created
Initial window position is at 0,0 by default, then it's corrected
in createNSWindow (by calling initialGeometry).  After window
creation, QNSWindowDelegate will receive the windowDidMove
notification and call QCocoaWindow::windowDidMove() which then
calls QNSView::updateGeometry().  It will not call
QWindowSystemInterface::handleGeometryChange() because the window
is still being constructed.  So we can fix this by directly
setting QWindow::geometry in the QCocoaWindow constructor.

Task-number: QTBUG-30382
Change-Id: I3db7a6e83693e5787ae82dcab1767de938d2e5d1
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-04-09 20:10:59 +02:00
hjk 34fadcfeb1 Mac: Return Qt::Key_F9 for F9, not Qt::Key_F8
Task-number: QTBUG-30520
Change-Id: I7006e43ea638796045925e753a2ef8f9d0a066e9
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-04-09 20:10:59 +02:00
Sergio Ahumada 1abeb85464 doc: Minor changes to qtgui.qdocconf
Changing "C++ API" -> "C++ Classes" to match all the other modules.

Change-Id: I434cd9c32b1db18395242e73564fe309c8ebb99e
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-04-09 10:36:28 +02:00
Andy Shaw 97c6fd22d2 Use Q_DECLARE_PRIVATE for Oracle and DB2 plugins
This completes the change started with
0bdc86d9ef by providing the implementation
for the Oracle and DB2 sqldrivers

Change-Id: Ia14415c6d7dea51f1369a81236f79aff892b3af7
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-04-09 10:21:26 +02:00
Sze Howe Koh ab7eacd8a5 Doc: Fix minor typo
QDoc needs correct capitalization to create a link to the class ref

Change-Id: If95ab1245fcad6c0f624b88eb4522ba78be7d6a6
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-04-09 09:31:32 +02:00
Thiago Macieira 55c225428f Doc: fix compilability of the example
QDBusConnection::registerObject takes an object.

Task-number: QTBUG-30483
Change-Id: Ibebec48e8c9d3df0d3fa1177c3887ea5c75e8623
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-04-09 07:13:58 +02:00