Commit Graph

18558 Commits

Author SHA1 Message Date
Paul Olav Tvete
b732e56969 Android: Report current selection to the input method
Task-number: QTBUG-39196
Change-Id: Ib798f1de83ccbe3830a746b6ddd435a0934c34cd
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-05-26 15:06:12 +02:00
Maurice Kalinowski
262d2cba12 WinRT: Fix compile warnings
Change-Id: If223dd73b9558a0f5144be38f19a61316f8c807b
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-05-26 15:06:12 +02:00
Morten Johan Sørvig
b214c177ea Make QT_MAC_OPENGL_SURFACE_ORDER=-1 work better
Mark the window as not opaque and give it a transparent
background when layering OpenGL below the window.

Change-Id: I2188842249c592f17619f7a2c3ef1fd30958987e
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-05-26 15:06:12 +02:00
Morten Johan Sørvig
1ac0f953ba Cocoa: Remove the NSWindow -> QCococaWindow hash.
Cast the NSWindow to a QNSWindow instead. Now there
is no way we can fail to maintain the hash properly.

Change-Id: I5fd03b6fad964a61fadb3460b7063fd43ff25c79
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-05-26 15:06:12 +02:00
Morten Johan Sørvig
7ba0eb5a0d Cocoa: Prevent crash on QWindow delete.
Clear the QCocoaWindow pointer stored on the QNSWindowHelper
when detaching from the platform window. This makes
sure callbacks from cocoa does not try access deleted
Qt window objects.

Task-number: QTBUG-39141
Change-Id: I4672eae92940dcbd59a2848e56f94b50a828bbf6
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-05-26 15:06:12 +02:00
Louai Al-Khanji
8701c20f0d Direct2D QPA: Match raster engine line output
For whatever reason direct2d and the raster engine disagree by one pixel
about the positioning of positively sloping aliased lines. To get the same
output, we shift such lines by one pixel.

Change-Id: I4b20319770c02e3fdd212b3535ccae3c27ca9f2f
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-26 15:06:12 +02:00
Richard J. Moore
1b19f66037 Ensure all encrypted bytes are sent when closing QSslSocket.
If you do sock->write(data) followed by sock->close() then the data
written is not transmitted unless you flush when using QSslSocket but
is when using QTcpSocket. This change makes QSslSocket work like
QTcpSocket.

Change-Id: Ia2e1c021dc48ac0d573f78da782ea77641c03bc1
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
2014-05-26 15:06:12 +02:00
Friedemann Kleint
787c0d76a2 Replace hard-coded qWait() by QTRY_COMPARE/VERIFY in widget tests.
Task-number: QTBUG-38890
Change-Id: I9a729430fcd30b782c100bb76d5e287a3b4c1238
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2014-05-26 15:06:12 +02:00
Andy Shaw
5d48eb8bbc Cocoa: Make sure modal windows get correct geometry on show
beginModalSessionForWindow will center the window and ignore
the set geometry. So to workaround this it checks the new value
against the old one and moves it back if need be.

Change-Id: I38bc74c04138992f2e0570fca666414025aeeba8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-05-26 11:16:38 +02:00
Andy Shaw
f7af9fb632 Account for the sort indicator being placed above the text on Vista
In WindowsVista style and later the sort indicator is placed above the
text as opposed to alongside it. Therefore the extra space given is moved
to the common style allowing styles that have it placed differently to
easily ensure it is not included.

Task-number: QTBUG-19915
Change-Id: Ic21fcc1d95f4c3cc2eb9c465e1c8afb9b805389a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-26 11:03:15 +02:00
Frederik Gladhorn
92c6bfa0b2 Fix loss of precision warnings
Found by http://www.viva64.com/en/b/0251

Change-Id: I2a0c3dba74fef07c3119c9e57b343a8253ee7daa
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-05-26 10:42:06 +02:00
Thiago Macieira
385692b3ad IPv6 scope ID of zero is not valid
IANA reserves scope ID of 0x0 to mean "no scope ID", so make sure that
we don't try to set it when reading from the sockaddr_in6 structure.

Change-Id: I71b207e6f8262ab2bf9fde993288a71ba63c7572
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-05-26 00:09:55 +02:00
Giuseppe D'Angelo
1a4ff6f122 QOpenGLTexture: test for extensions when checking features
Don't use only the GL version, as vendors expose many many extensions
on viable hardware.

For instance, I have a NVIDIA G210 which supports up to GL3.3, but
which features immutable storage, immutable multisampled storage,
texture buffers and ranges, stencil texturing, and cubemap arrays.

Change-Id: Ie6023ee854b679737fca982578cb2093e10d083f
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-05-25 15:51:07 +02:00
Andy Shaw
9b27240e4a Fix the doc so it uses the defined parameter names for the signals
The documentation needs to use the defined parameter names for the signals
as this is what QML will make them available as if they are used in a
connection to that signal.

Task-number: QTBUG-35694
Change-Id: I0f56b9e1ace45cfff72c45273dd64766e3c792f2
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-05-24 01:40:37 +02:00
Friedemann Kleint
9a2dbcab7e QPrinter/Windows: Fix handling of native paper source ids.
On Windows, it is possible to pass native Windows paper source
ids >= DMBIN_USER to QPrinter::setPaperSource() and they are
listed by supportedPaperSources().

Task-number: QTBUG-38897
Task-number: QTBUG-38888
Change-Id: I8f1264e80ce5bdddd3873602200b24eabee00502
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-05-23 22:18:41 +02:00
Friedemann Kleint
d3d8ade87b Windows: Fix qt_imageFromWinHBITMAP().
Factor out common code paths from the QPixmap/QImage conversion
code and use the same algorithm for copying the image data with
alpha correction as does qt_pixmapFromWinHBITMAP().

Rename the previous version of qt_imageFromWinHBITMAP() to
qt_imageFromWinIconHBITMAP() since it is used for HICON conversion.

Task-number: QTBUG-39084
Change-Id: Ia4042c33db485c3604461a5eafd6282968b36e3b
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-05-23 22:18:30 +02:00
Friedemann Kleint
57d0ed8f1e Remove unused variable in qwindowsmousehandler.cpp.
Change-Id: Iacfeec396c2eeef973b62bf78c698aa206b01c41
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-05-23 22:18:22 +02:00
Richard Moe Gustavsen
28f32afd3f iOS: Be more careful when hiding the keyboard upon enter
A typical pattern in an application is to listen
for "enter" in a line edit and transfer focus to
the next edit in the focus chain. This would currently
not work on iOS since we would force the keyboard down
after delivering the KeyPress/release events, effectively
overriding any focus handling done by the app.

This patch will hide the keyboard _before_ sending the
events, so that we don't override focus handling done
by the app. By also hiding the keyboard using
QInputMethod, the hiding will also be delayed a bit
(in QIOSInputContext) to catch subsequent hide/show calls.

Change-Id: Ic19511d494a55d1bda963ed9bc7185d63b51bc03
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2014-05-23 14:46:19 +02:00
Oswald Buddenhagen
cf4d0a64e9 fix and de-duplicate qprocess apidocs
- rectify confusion and outright disinformation about argument quoting
- say that open() is an alias for start(), not the other way round, as
  this is more consistent
- apply some trickery to hide mergeable startDetached() overload
- rename program -> command where it stands for a joined command line,
  for consistency
- copy less information to the various overloads
- misc language fixes and reshuffling

Change-Id: I1b9c8dbed003f551ee6855044bbfc0aedddb4757
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-05-23 11:39:25 +02:00
Oswald Buddenhagen
8f8d3aa4e8 escape apostrophe
Change-Id: Ib9da4903167fce8ccc41fd2aa050b5c611cced11
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2014-05-23 11:39:25 +02:00
Joerg Bornemann
a12a2fdf68 fix C4275 warnings for MSVC 2010 build
The _HAS_EXCEPTIONS=0 define that was introduced in commit
f59083636b leads to lots of C4275
warnings:
non dll-interface class "stdext::exception" used as base for dll-interface class "std::bad_cast"
from the <algorithm> include in qglobal.h.
Newer versions of MSVC do not have this problem.

Task-number: QTBUG-39126
Change-Id: Ieea5adde649fe16e6b41fbbb23fd582b3bb12b89
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-23 11:39:25 +02:00
Oswald Buddenhagen
3b7599800e fix qmlplugindump's import path construction
the location of the import paths have changed a long time ago.
also, we can make use of QTREPOS now.

Change-Id: Iee50854b7441968c3c60538e54d9312e53d39cb6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-05-23 11:39:25 +02:00
Oswald Buddenhagen
a658fa40d3 fix/simplify the qmlimportscanner's import path construction
now that we have QTREPOS, we can use that directly instead of collecting
the QT.<foo>.qml dirs. as a "side effect", this makes qml modules without
a corresponding c++ module available to the scan.

Change-Id: I6f172121588ec01c9fa47a99d9990bf9fcfbc69f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-05-23 11:39:25 +02:00
Oswald Buddenhagen
7c94b8955f purge obsolete variable documentationPath
Change-Id: I1eb9e7ff28e0632c5a87b726dcd52b6542612101
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-05-23 11:39:25 +02:00
Oswald Buddenhagen
4a35f21208 fix quoting and path separators in qtPrepareTool()
we need to store commands with system path separators in the .pri files,
as we might clobber windows command arguments if we just converted
separators later on. and we can actually do that, as the path separators
are actually bound to the host system, not the shell.

we also need to shell-quote the commands, as whitespace, and more
commonly windows path separators in an msys shell, would break things.
we delay this to the last moment possible, as it does depend on the
shell.

Change-Id: I1fe6b63aebd5663b72492c32928ec397f86e336f
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-05-23 11:39:25 +02:00
Laszlo Agocs
2698509219 Call doneCurrent on QOpenGLContext when the surface dies
Doing makeCurrent() followed by destroying the surface (and no
doneCurrent) results in still having the pointer stored internally
in the QOpenGLContext. If then a function like defaultFramebufferObject()
is called, the pointer is dereferenced.

To fix this, the doneCurrent() has to be called when the surface is destroyed
before the context without doneCurrent(). This is pretty much what the
user would expect anyhow.

Task-number: QTBUG-38994
Change-Id: Ibd4083d9291c7fd39b38ce81a988a8e0c9d55d60
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-05-23 11:39:25 +02:00
Andrew Knight
05e8b54d23 WinRT: fix default font when DirectWrite is disabled
Instead of loading the default font "Helvetica", which is likely not
part of the package, load the first font found.

Change-Id: I225979986883a26c3fec72858cf32c3d1e45d902
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-05-23 11:39:25 +02:00
Louai Al-Khanji
c6b8779172 Direct2D QPA: Fix HighRes painting
It turns out that supporting HighRes painting with Direct2D is quite
simple. Two things are necessary.

First, we set the unit mode to D2D1_UNIT_MODE_PIXELS on all our device
contexts, which tells Direct2D that we specify everything in pixels.
Direct2D will internally do the required conversions.

Second, we scale font sizes according to DPI.

Previously rendering errors resulted when a highres mode was used, this
fixes those errors.

Task-number: QTBUG-39105
Change-Id: Ibb4dbea4746687228249e2c36d48c4bd6c5c7bf9
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-23 08:54:30 +02:00
Louai Al-Khanji
0057507184 Direct2D QPA: Add missing break statement
Change-Id: Ib40daa1ba56cce423b29ac8f1ab50e4638980728
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-23 08:54:30 +02:00
Tony Sarajärvi
9f4881297d Mark tst_qfiledialog2 as insignificant due to failing tests
Task-number: QTBUG-39183
Change-Id: I6663d0e4c49e904ffe5d5fdc990073abd4188d9d
Reviewed-by: Simo Fält <simo.falt@digia.com>
2014-05-23 07:05:41 +02:00
Tasuku Suzuki
390a8c36f7 Fix a crash in QOpenGLTexture::allocateStorage()
QOpenGLTexture texture(QOpenGLTexture::Target2D);
texture.allocateStorage(); // crashed

Change-Id: Ia12f69b72e537cf765387cd172d7cb2cbbbad6e6
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-05-23 02:20:26 +02:00
Friedemann Kleint
a591c27282 Stabilize and speed up tst_QGraphicsItem::cursor().
Use QTRY_COMPARE instead of hard-coded timeouts, ensure window is
shown.

Change-Id: I4f23144ee14150c4fba9c6fbd8c4ee2da472cc75
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2014-05-22 21:44:01 +02:00
Dyami Caliri
37fd82b962 QPrintDialog OSX: Fix qApp->processEvents arguments
The call to processEvents had the flags separated by a comma instead of
bitwise OR. This worked because processEvents has an optional second
argument that is an int.

Change-Id: I6dc74bc44b1d782aa7206f106c51c16eab5f2a76
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
2014-05-22 21:44:01 +02:00
Andrew Knight
3438fb961a Fall back to ANGLE BlitFramebuffer and RenderbufferStorageMultiSample
When these extensions aren't available, use ANGLE's versions of them.

Task-number: QTBUG-31010
Change-Id: I9a85b9f4d2bb60bdb1d79c92edf241b95d0627bf
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-05-22 19:49:45 +02:00
Andrew Knight
dd73975bee WinRT app manifest: update namespace prefix
If the prefix isn't "m2" for the 2013 namespace, Visual Studio Update 2
won't open the document in the designer view. Even though there is
nothing technically wrong with the way it's currently done, change it to
"m2" to keep VS happy.

Change-Id: I62721114610de5396eb507828b39db89c1e96b1a
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-05-22 11:16:45 +02:00
Andrew Knight
eea02ff10d WinRT: Support High-DPI
Previously, the backing store and default framebuffer were created with
the logical screen resolution (in device-independent pixels), not the
the physical screen resolution. This lead to blurry text on high-DPI
devices. This change fixes this by creating those at full size, and
setting the device pixel ratio appropriately. Windows are still reported
in device-independent pixels, but text and images are now rendered
sharply for Qt Quick applications.

As QPainter does not support non-integer scaling, the backing store is
still drawn in DIPs and scaled by OpenGL.

Task-number: QTBUG-38464
Change-Id: I7377d4c734126825d670b8ebb65fd0dd1ef705f2
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-05-22 07:59:49 +02:00
Andrew Knight
c32295eb80 ANGLE WinRT: Create swap chain using physical resolution
ANGLE has been creating the framebuffer in logical pixels instead of
physical pixels, which leads to unexpected results and side effects like
smudged anti-aliased text. This fixes the issue by multiplying the DIP
resolution by the scale factor, making the framebuffer match the physical
pixel resolution of the screen.

Change-Id: I3594995ce8e18a31b47e27165f72bc6a391b97b6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-05-22 07:59:49 +02:00
Andrew Knight
4c9eb38390 Support Windows Phone 8.1 in WinRT QPA
- Unsupported code paths for WP8.0 are avoided, and new APIs are used
  where appropriate (virtual keyboard)
- DirectWrite fonts are loaded on WP8.1
- Platform dialogs are used on WP8.1

Change-Id: I721006ac943ad4e248f0f1590ce247a03e40fbc0
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-05-22 07:59:49 +02:00
Andrew Knight
9d3b169bda Add build support for Windows Phone 8.1
Tweak qmake, add mkspecs for emulator and device, adjust the
manifest template for WP8.1, and add missing icons.

Change-Id: I7a6405fa85297ae4cc8522015274e65fb7a315a6
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-05-22 07:59:49 +02:00
Louai Al-Khanji
26a2fb7448 Direct2D QPA: Move QVectorPath conversion function into private class
The function already needs information from the engine for conversion,
moving it into the private class makes it possible to get this info
directly in the method and makes calling the method nicer.

Change-Id: I47fa9a4531d0d0605aa587fba90fbfdf036f0998
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-22 06:07:04 +02:00
Louai Al-Khanji
bcab05cb4f Direct2D QPA: Get rid of QPainterPath conversion function
This function was used only in one place and duplicated a lot of logic
with the very similar QVectorPath conversion function. Just use
QVectorPath everywhere instead.

Change-Id: I3a4821f0452634c309ca0730047ea6ef7a7591ca
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-22 06:06:56 +02:00
Louai Al-Khanji
8d7e23ea0b Direct2D QPA: Cache QVectorPaths if drawn more than once
Hooking into the caching mechanism gets us a measurable performance boost
for paths that are drawn repeatedly, around 10% on my machine when drawing
aliased arcs.

Change-Id: I32f4ed7daa8a51b5c5a9c6d5414ab5d4ef759f70
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-22 06:06:51 +02:00
Jake Petroules
5d2939344e Trigger repaint of window when toggling unified toolbar on or off.
Change-Id: I5204e5c65ae3cf84459cc62f587ecccd855e02f8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-05-22 02:52:54 +02:00
Andy Shaw
a82249a47b Mark the missing QDnsLookup constructor as \internal
Implementation will be added for Qt 5.4.0 as it cannot be done
sooner.

Change-Id: I4d2626416fae99339988cd994653ce7ec753f081
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-05-21 23:41:20 +02:00
Karim Pinter
8bdf319c28 Fix for bindvalue(int) memory allocation problem
QSqlResult::bindValue(int index, ...) is increasing the memory usage
when called multiple times for same index

Task-number: QTBUG-33169
Change-Id: I4f26125f6bb994bb430dc054df5761b6ddf03075
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2014-05-21 17:30:13 +02:00
Axel Rasmussen
2983cb9531 Fix broken QPlainTextDocumentLayout after removing chars
This fixes an issue where, if characters were removed from several
blocks in a single edit, the document layout would end up being
corrupted since the document layout manager wouldn't re-layout the
proper number of text blocks.

Task-number: QTBUG-30051
Change-Id: Idf3a6f567120e6a5dbebf1f65f685d374219328a
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
2014-05-21 17:30:11 +02:00
Christoph Schleifenbaum
ff31090d07 Cocoa: Do not process ampersands in menus twice.
When syncing between QAction and native NSMenuItems, the ampersands
(mnemonics) were removed twice. This lead to double ampersands being
removed instead of replace with single ones.

Task-number: QTBUG-37933
Change-Id: If1d9cd247b467472647b22b38460b44b03f13d82
Reviewed-by: Liang Qi <liang.qi@digia.com>
2014-05-21 13:59:18 +02:00
Peter Hartmann
c045cb950b Socks5 socket engine test: Disable UDP over Socks test
... because it fails on the new network test server. The Socks5 tests
in QUdpSocket have already been disabled by commit
aa3eaf9d2e .

Task-number: QTBUG-35490
Change-Id: Ib062adb422ff6e5538f14d15a266d79c3bb53956
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
2014-05-21 10:25:36 +02:00
Christian Strømme
849f8f58ce Android: Fix crash caused by unintentionally modification of env data.
The data given to putenv(3) becomes a part of the environment, as
described in SUSv2, so If the data is unintentionally modified or
deleted the consequence can be fatal.
In previous versions of Android, the putenv(3) implementation made a
copy of the data, so this bug has gone unnoticed.

Task-number: QTBUG-39042
Change-Id: I20559c848fded10eeae54c4700ba0f4669fe49fc
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-05-21 01:34:38 +02:00
Richard Moe Gustavsen
4be7cd09d6 xcode generator: don't modify or copy QMAKE_INFO_PLIST
If the project has a custom Info.plist assigned to
QMAKE_INFO_PLIST, we should leave it as-is without
scanning and replacing contents inside it. Since we
always copy the file to the build folder at qmake
time, any later attempts to modify the source file
will not have any effect.

A better solution is to just reference the custom
plist directly from the Xcode, without modifying it.

This change will also stop unixmake2 from assigning the
default plist to QMAKE_INFO_PLIST, since we need to
know in the xcode generator if the variable was set in
the project or not.

Task-number: QTBUG-38260
Change-Id: I3c488b2960170c544d94f9db89d3ca95ee290bdd
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2014-05-21 01:34:38 +02:00