Commit Graph

24119 Commits

Author SHA1 Message Date
Marc Mutz
c69f75426d QStyleOption*V<N>: mark as \obsolete
Change-Id: I6e4857bcfa7792bec4d38f6c65bfec15a52b4d30
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-11-05 05:39:10 +00:00
Marc Mutz
c78fec01f8 [docs] QStyle: remove remaining references to QStyleOption*V<N>
They are all obsolete since Qt 5.0.

Change-Id: Ief9111057137c3bd091630430a23681095b73510
Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
2015-11-05 05:39:03 +00:00
Joni Poikelin
d894cfa863 Fix QImage::setDotsPerMeterX/Y for images with some orientations
Rotation of images with orientation of 90 and 270 degrees dropped DPM
values from rotated image.

Task-number: QTBUG-49220
Change-Id: I9c23153c49dd63b5f6958fdde72f466873b0a407
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
2015-11-05 05:33:37 +00:00
Liang Qi
6ed957fd7f fix MinGW ANGLE build
glslang_tab.cpp was not created in the right subdirectory.
This amends commit 69167189.

Change-Id: I031499baa53b72a1923883c58eb5ddfc2a02789a
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-11-03 13:46:03 +00:00
Joerg Bornemann
dfaffcbf2a QWindowsPipeReader: fix occasional "Unknown error 995"
After canceling the asynchronous read operation, the
notified() slot receives ERROR_OPERATION_ABORTED.
We must not handle this situation as an error.

This amends commit 5ce567c5.

Task-number: QTBUG-48336
Change-Id: Iff948ceb3ad1f805a9de8c188fbc39ed4c76ba82
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-11-02 12:38:50 +00:00
Dyami Caliri
5a7f69f824 Fix Vista style compilation with QT_NO_ACCESSIBILITY
A recent change uses an accessibility function even if accessibility
is disabled.

Change-Id: Ibf9afbb90120772065743b2f9dd3615e4e6a2f37
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2015-10-30 16:42:25 +00:00
Friedemann Kleint
7daae2c2c7 Windows: Delay-initialize pluggable touch devices.
Move touch device initialization code to QWindowsContext and
replace the assert on the touch device in QWindowsMouseHandler
by a call to the initTouch().

Task-number: QTBUG-48849
Change-Id: If8573b8283ef94e7fd015f6edc626e3c8cc0b139
Reviewed-by: Joni Poikelin <joni.poikelin@theqtcompany.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-10-28 09:23:46 +00:00
Andy Shaw
a91c40868b Check if the session is valid before connecting to it
Since there are circumstances where the session is not yet created after
start() is called then we should check if the session is valid before
connecting to it.

Change-Id: I94236f76e4be2433a8c96eb91ce2d4b4d42f2fd9
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-10-27 18:00:22 +00:00
Andy Shaw
95b1982e47 Return early if there is no text at the offset
Change-Id: I9d0b1e6e054a48bac34fb4e51b656c475f5638b4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2015-10-27 18:00:14 +00:00
Dmitry Shachnev
08be8691f7 Fix QStorageInfo on BSD4 systems
- On NetBSD, the defines were not properly defined;
- On all other BSD systems, we use statfs which does not have f_frsize
  member, revert to using f_bsize there.

Task-number: QTBUG-48267
Change-Id: Ia1ed484ac61a615fcbb5b45affb516b5e86a64b0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-10-27 17:59:44 +00:00
Joerg Bornemann
691671893a fix race in ANGLE build
The flex and bison rules generated the same files for debug and release.
This conflicts in parallel builds, e.g. when using jom.

Task-number: QTBUG-49003
Change-Id: I6f64760d83292e8bfad6fd0b4f8fbdd386e2213b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-10-27 17:02:47 +00:00
Martin Koller
2f7d3cf559 Android: auto-detect MIME type for local files to make openUrl work
[ChangeLog][QtCore][Android]
Fixed the opening of a local file using QDesktopServices::openUrl().

For a local file to be viewed with
QDesktopServices::openUrl(), Android needs to be given
the MIME type otherwise it does not start an Intent to view the file.

Task-number: QTBUG-45585
Change-Id: Ifcfce4bff35011f205cfadbdb2b37a1780dac87d
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2015-10-26 11:35:15 +00:00
Joerg Bornemann
c20f92a0fa fix growth of event queue in QWinOverlappedIoNotifier::waitFor*
Do not emit _q_notified when we're in a wait function. Otherwise,
the queued signals could pile up in the event queue.

Task-number: QTBUG-48653
Change-Id: I071863e2356e17c7004e3b7ca359967cb115e343
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-10-26 11:02:27 +00:00
Dmitry Shachnev
b7c4f15d67 Undef HAVE_WAITID if needed constants are not defined
That is the case on Hurd, where the code currently breaks because Hurd
does not have WEXITED or WNOWAIT defined.

Change-Id: I4b13633612b1168d36c949d9e8b35bc05bca7d5c
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-10-26 10:48:12 +00:00
Andy Shaw
3890988bb6 Add support for -Zc:throwingNew option to vcxproj generation for 2015
Task-number: QTBUG-48898
Change-Id: I56abae0cbc56e07fd9bb554b84927c327c1b3232
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
2015-10-23 13:03:12 +00:00
Topi Reinio
b29d18f736 Doc: Edit description of QSslSocket::AddCaCertificates()
The QSslSocket::addCaCertificates() variant that takes a path
argument uses QSslCertificate::fromPath() in its implementation.
Edit the description of the former to match that of the latter.

Fix minor issues in QSslCertificate::fromPath() documentation;
add a missing word, limit code snippet line width.

Task-number: QTBUG-47359
Change-Id: Ibead74c998503e60a67d0b8eb551536bd20feff8
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-10-23 12:38:09 +00:00
Friedemann Kleint
13b1c23f8b QLineEdit: Fix visibility handling of side widgets.
Compare against isVisibleTo() in QLineEditIconButton::actionEvent()
so that action events received before show() are handled correctly.

Fix a regression introduced by change
4dccb2ca67 for handling action
events causing side widgets to overlap when added before the widget was
shown. Use QAction::isVisible() to determine visibility.

Task-number: QTBUG-48806
Task-number: QTBUG-48899
Task-number: QTBUG-39660
Change-Id: I7a39a3b9a094f2c74cde09544f1158deb2b81cf2
Reviewed-by: David Faure <david.faure@kdab.com>
2015-10-22 18:04:18 +00:00
Caroline Chao
344b19f8e9 Tests: Use blacklist for tst_NetworkSelfTest::ftpProxyServer()
Remove the insignificant_tests CONFIG option in favor of a BLACKLIST
file. The test blacklisted have been found using CI builds logs.

Change-Id: Iac07316862cff9b5085dacdf9f35e691cff09384
Task-number: QTBUG-27571
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2015-10-22 13:45:09 +00:00
Tim Blechmann
14709d097f Fix QCFSocketNotifier in namespaced Qt builds
Without QT_BEGIN/END_NAMESPACE, the qt_mac_socket_callback is not resolved as
a friend function of QCFSocketNotifier, which is required due to access to
private members of QCFSocketNotifier.

Change-Id: Ief89e18f8b4f7fc4cb013a33959db1dd90eb9efe
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-10-19 16:42:47 +00:00
Christian Strømme
75efe9a0f3 Android: Remove unused forward declaration.
Change-Id: I7c81a542df2a47754c2972a1811c020cd12e2dc2
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2015-10-19 11:47:50 +00:00
Christian Strømme
28b57f0e95 Android: Don't show the VK when the state is set to HIDDEN by the user.
Don't call showSoftInput() if the state is set to _HIDDEN or
_ALWAYS_HIDDEN by the user.

Task-number: QTBUG-46528
Change-Id: I5dbaf612cf4f339c5288d6d3292c27cc6217f3af
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2015-10-19 11:47:44 +00:00
Christian Strømme
1811e31cdb Android: Improve the way we update layout params for native views.
Removing and adding a view each time the layout parameters changes is
triggering unnecessary layout updates. The affect of this is not very
visible since there are few views in the layout, but the procedure is
never the less wasteful.

Change-Id: I2540ab519b12c6d3e10457e2e518b439118b966d
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2015-10-19 11:47:38 +00:00
Albert Astals Cid
5afc431323 Use Node::name if Node::logicalModuleName is empty for qml modules
Change-Id: I55693a4f34f0a89ceb326b5eb4b229dd3f91c172
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-10-16 11:24:29 +00:00
Yoann Lopes
a7297ed85b Fix gstreamer configuration test.
Don't use gst_is_initialized(). It was added in 0.10.31, but we don't
actually require that version.

Change-Id: If5d662e18511cf636861bf93eeccc1f5b69e26f1
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2015-10-13 08:59:04 +00:00
Liang Qi
07800a9727 Merge "Merge remote-tracking branch 'origin/5.5.1' into 5.5" into refs/staging/5.5 2015-10-13 11:14:37 +00:00
Liang Qi
57fead6100 Merge remote-tracking branch 'origin/5.5.1' into 5.5
Change-Id: I2942591e1c1ca86ce0f6476e0a5c3033cdf861ee
2015-10-13 10:09:20 +02:00
Alex Trotsenko
0872156559 QAbstractSocket: fix writing to socket in HostLookup state
After calling connectToHost(), the socket enters HostLookup state. At this
stage, the socket engine was not created yet, and writing to the socket
should result in either data buffering or an error. So, add a check for
d->socketEngine to prevent a crash on unbuffered sockets.

Task-number: QTBUG-48356
Change-Id: I15ea9ce7de97ce6d7e13e358eca5350745b556bb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-10-13 05:20:08 +00:00
Giuseppe D'Angelo
a2f6ece27f QLockFile: fix errno handling
In case of a lock failure, we potentially pollute the errno value
before printing it. Also, switch to qt_error_string, as strerror
is not reentrant.

Change-Id: I952aac14204637155726bcefc0ed8a21d7fcd501
Reviewed-by: David Faure <david.faure@kdab.com>
2015-10-12 15:09:53 +00:00
Christoph Schleifenbaum
0cfdfcc82e QListView: Use correct available size when calculating scrollbars.
Calculation was working as long as one didn't use per pixel scrolling.

Task-number: QTBUG-48579
Change-Id: Ie02e28b008c5c81ed45d7dd17fed96148c23b598
Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2015-10-12 08:41:06 +00:00
Andy Shaw
eb149ec95c Offscreen: Protect against the QT_NO_CURSOR define for changeCursor
If QT_NO_CURSOR is defined then changeCursor() is not implemented in
QPlatformCursor which means that it isn't really being overridden in the
offscreen plugin. Therefore the same define is checked for to prevent a
compiler from having a problem with it.

Change-Id: Id7c104292354cb7462b3161602fc8d382a6dd390
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-10-11 19:12:02 +00:00
Alex Trotsenko
6542161d5c Fix spurious socket notifications on OS X and iOS
Core Foundation Framework forwards notifications about socket activity
through a callback function which called from the run loop.

The default behavior of Core Foundation is to automatically re-enable the
read callback after each notification, and we explicitly enabled the same
behavior for the write callback.

With this behavior, if the client did multiple recv() calls in response to
the first notification in a series of read notifications, the client would
still get the QSocketNotifier notifications for the data that was already
read.

To get rid of these extra notifications, we disable automatically re-enabling
the callbacks, and then manually enable them on each run loop pass.

Task-number: QTBUG-48556
Change-Id: I0b060222b787f45600be0cb7da85d04aef415e57
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-10-09 13:00:58 +00:00
Marc Mutz
c87bb03e5e QDebug: add missing docs for op<<(Container)
Change-Id: I9f89d8e792bf0d432a0b2522f26026c6ad81e2f4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-10-07 19:00:41 +00:00
Samuel Gaist
decc546368 Doc: remove unused code from OpenGL Window example
Change-Id: Ifb2c7206dee55102eba91b4c30543f3ac4838259
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-10-07 10:56:04 +00:00
Alex Trotsenko
da104e7db0 Revert "Fix the spurious socket notifications on OS X"
This reverts commit b8e0f7cfc6.
Needs a more testing.

Change-Id: Iff0b2741922cfa8f16fbc3f4ce0f83869d6cd8b6
Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-10-06 08:32:58 +00:00
Samuel Nevala
44f323e500 ANGLE: Fix D3D feature level detection.
Commit 7943d4f tried to fix this with a switch/case, but the feature
levels need to be in descending order so this failed. So, follow the
same style used for feature levels 10/11.

Change-Id: Ia1c22981bf8b99eb53df13833aba452482398295
Task-number: QTBUG-38481
Task-number: QTBUG-48571
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2015-10-02 12:51:33 +00:00
Alex Trotsenko
b8e0f7cfc6 Fix the spurious socket notifications on OS X
Core Foundation Framework forwards notifications about socket activity
through a callback function which called from the run loop. Previous
implementation sets kCFSocketReadCallBack, kCFSocketWriteCallBack to be
automatically re-enabled after they are triggered. With these semantics,
an application need not read all available data in response to a read
notification: a single recv in response to each read notification is
appropriate. If an application issues multiple recv calls in response to
a single notification, it can receive spurious notifications.

To solve this issue, this patch disables automatically reenabling callback
feature. Now, callback gets called exactly once, and is not called again
until manually re-enabled by calling CFSocketEnableCallBacks() just before
entering to wait for the new events.

Task-number: QTBUG-48556
Change-Id: Ia3393c2026230c7b3397cc614758dec1d432535f
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2015-10-02 10:16:53 +00:00
Friedemann Kleint
a5f470240f qprintengine_win.cpp: Check access to members of DOCINFO in warning.
DOCINFO::lpszOutput can be 0.

Task-number: QTBUG-48203
Change-Id: Ia3940b5b3200143d8d50caa8f4f44c4b22bfff75
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
2015-09-29 12:11:34 +00:00
Andrew Knight
7943d4f77c ANGLE: Fix Windows Store D3D Trim and Level 9 requirements
Due to additional validation not covered in previous patches, the Windows
Store certification compatibility had regressed. These changes ensure that
the required D3D behaviors are met.

Change-Id: I0a74f0d2fecaa87d4a9409da3a7a194254609759
Task-number: QTBUG-38481
Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
2015-09-29 12:07:22 +00:00
Andy Shaw
b7f4346c4f Windows: Change the mocinclude extension to .opt
When cleaning in Visual Studio then it will remove all instances of tmp
files which meant it would remove the mocinclude.tmp as well incorrectly.
Therefore the extension of the mocinclude file needs to be changed to .opt
so that it is left untouched by Visual Studio.

Change-Id: Iebc055f33f9dc87a4fa42ae87b253f6739903e8f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-09-29 09:16:00 +00:00
Joerg Bornemann
7fe5f82e48 clean up QWindowsPipeWriter I/O error handling
Exit early, and add warning messages for (unlikely) error cases.

Change-Id: I7130b2e298f3a644a9d0e96a3a1860350e11adff
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-09-29 08:31:54 +00:00
Joerg Bornemann
9ef8760355 QWindowsPipeWriter: clean up OVERLAPPED resource handling
Use RAII to ensure that every code path cleans up the event handle,
and re-initialize the whole OVERLAPPED object, not just the two
offset members.

Change-Id: If7e68ec6e61b7bb04df0d06734c04589f6822c4a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-09-29 08:31:47 +00:00
Martin Afanasjew
3964b683f8 qmake: Fix 'Libs:' line in .pc files on OS X
On OS X with a framework-based build of Qt, the 'Libs:' line of the
.pc files generated by `qmake` references the framework. This requires
two separate arguments to the linker: The fixed string '-framework' and
the name of the framework (e.g. 'QtCore'). Only the latter might need
quoting. Prior to this fix, they were treated as a single argument (e.g.
'-framework QtCore'), thus always quoted because of the contained space,
and later lead to errors when trying to link a Qt framework discovered
via `pkg-config`.

Change-Id: I5c11ee651048832007e2ee4ebcbcf2e3212c8f48
Task-number: QTBUG-47162
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-09-28 13:10:42 +00:00
Christian Kandeler
d24366a632 Fix comparisons between QByteArray and QString.
QByteArray::operator< and friends had their logic reversed.

Task-number: QTBUG-48350
Change-Id: I625209cc922b47e78dfb8de9fe100411f285a628
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-28 07:42:51 +00:00
Thiago Macieira
1a6ac83193 Ensure there's no sign-extension here.
Both e_shentsize and e_shtrndx are ELF half-words, which means C
integers of rank less than int (they're quint16). That means this
multiplcation was done actually as int, due to integer promotion from
unsigned short. So preempt the integer promotion and force them to full-
word integers (unsigned int).

While the bit-pattern result of the multiplication is the same, the
addition with e_shoff (a qelfoff_t = quintptr) wouldn't: the promotion
from 32-bit int to 64-bit would first execute a sign-extension.

Now, this shouldn't happen on regular ELF files, but it cause QLibrary
to crash if a specially-crafted (or simply corrupt) plugin is found.

Found by Coverity, CID 22642

Change-Id: I42e7ef1a481840699a8dffff1407e9f1282eeecf
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-09-28 06:39:05 +00:00
Dāvis Mosāns
e18554d4f7 Network: Use QFile::encodeName for POSIX paths instead of toLatin1
POSIX API doesn't really have defined encoding and kernel works with
null-terminated byte strings (char *) without any knowledge about
encodings.

But usually applications use LANG (and LC_*) as encoding making it
possible to use any encoding user wishes, including full Unicode
support when UTF-8 is used.

This allows to create and listen to sockets with paths containing
non-latin characters.
eg. listen(QString("/run/υποδοχή"));

Change-Id: I022ac6a8a4575103125c48768a66bef88a232a2a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Dāvis Mosāns <davispuh@gmail.com>
2015-09-27 19:38:29 +00:00
Lorn Potter
bb281eea17 Make sure networkAccessibilityChanged is emitted
Task-number: QTBUG-46323
Change-Id: I8297072b62763136f457ca6ae15282d1c22244f4
Reviewed-by: Timo Jyrinki <timo.jyrinki@canonical.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
2015-09-26 19:14:03 +00:00
Sebastian Lösch
f98c2ef27a Abort underlying socket when aborting QNetworkReply
If we abort a connection in QNetworkReply::encrypted the underlying
socket gets flushed. This patch fixes that no data will be transmitted
after someone called abort().

Change-Id: I59306e69cb9f2e1421b324e11947375130e52135
Task-number: QTBUG-47471
Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-26 19:13:23 +00:00
Morten Johan Sørvig
f0f9f309e0 Support non-latin1 platform plugin paths
Replace two instances of QLatin1String() conversion
with QString::fromLocal8Bit()

Change-Id: I04336c47b0c030c69e38db9aa4dcd208d7200b63
Task-number: QTBUG-48399
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-24 07:43:19 +00:00
Morten Johan Sørvig
3ea04c7d38 Cocoa: Support Qt::WindowTransparentForInput
Map this to ignoresMouseEvents on NSWindow.

Task-number: QTBUG-45498
Change-Id: I86e518bbf805647d9f12b1af1747355ef55cc167
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2015-09-24 07:11:47 +00:00
Thiago Macieira
113a51b615 Update the Qt 5.5.1 changelog for qtbase
Change-Id: I42e7ef1a481840699a8dffff1405e4154dd6b5dc
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2015-09-23 06:49:28 +00:00