summaryrefslogtreecommitdiffstats
path: root/src/network/kernel
Commit message (Collapse)AuthorAgeFilesLines
* Various minor fixes for qdoc warnings.Richard Moore2012-05-061-2/+1
| | | | | Change-Id: I54c5ab6e1bfb1816bb510be9e2bfa1e3362faa36 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* QNetworkProxyFactory: check all the proxy environment variablesAdrien Bustany2012-05-051-1/+17
| | | | | | | | | | | QNetworkProxyFactory used to check only for the http_proxy environment variable in systemProxyForQuery. This patch makes it look as well in https_proxy, ftp_proxy and all_proxy. http_proxy is still used as a fallback value. Change-Id: I7934af70d191cd17dbce3b3789260ae1a8332986 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Remove not present networks from QNetworkInterface::allInterfacesShane Kearns2012-05-051-2/+1
| | | | | | | | | | | | | | Windows 7 accumulates networks over time with the status "not present". This is so it can remember whether a given network was a public, home or work network next time you use it. By default, these networks are not returned when enumerating network interfaces, but we specified a flag to request all networks. These networks are generally not useful so use the default behaviour of not reporting them. Task-number: QTBUG-18824 Change-Id: I4edc4cea83a0e97a88ac649b7d8af95a8a600b89 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Document new APIs in 5.0Shane Kearns2012-05-032-0/+11
| | | | | | | | The \since 5.0 directive was missing from many places. Task-number: QTBUG-24001 Change-Id: I191ba8891ae66d78f923164bcab2fccb16eabef9 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Pull in netinet/in.h. Required for definition of sockaddr_in and friends.Robin Burchell2012-05-031-1/+3
| | | | | | Change-Id: I3b1c7dc1c08ec54f5537b6019dc2554763538cfd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Stub out QDnsLookup on Android.Robin Burchell2012-05-022-0/+60
| | | | | | | | Android's resolv.h is completely crippled, so we can't use the libc resolver. Change-Id: I07e310e3561c719f4fe0bf08e58b5194f5a76e4a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Android's resolv.h is busted, so stub out QHostInfo::localDomainName().Robin Burchell2012-05-021-1/+1
| | | | | | Change-Id: Idcf5ca7298eed55121b690906885af0eb3fe0b9e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Disable code using if_nameindex on Android.Robin Burchell2012-05-021-0/+5
| | | | | | | Android doesn't support if_nameindex. Change-Id: Idb0cbf52e6cffb19fe65e30430ef53626e0eeac7 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* QNetworkProxyFactory: check the "no_proxy" environment variableAdrien Bustany2012-05-011-2/+36
| | | | | | | | | | The QNetworkProxyFactory class considered the http_proxy environment variable, but not the no_proxy one. This commit adds no_proxy handling, loosely modeled after the way curl does it. Change-Id: Ibb9e5ffcb30fed5c95dc9fc3bc4177e20d025a50 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Windows - "bypass proxy for local..." also affects IP addressesShane Kearns2012-04-201-2/+19
| | | | | | | | | | | | | | | | If the "bypass proxy for local addresses" option is enabled in the windows proxy configuration, then do not use the proxy for any IP address in the subnet of any network interface. As the systemProxyForQuery api is now offering HTTP proxy tunnels for TCP sockets, this change avoids local ad-hoc network connections being routed through the proxy. In the case where the local address was on a different interface to the proxy server, it may have been unreachable through the proxy. For example IP over USB or Bluetooth. Change-Id: I0842732832a7795112be029d923ed168edc008d6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Change coreservices -> iosIan Dean2012-04-191-1/+1
| | | | | | | | Replace "contains(QT_CONFIG, coreservices)" with "!ios" in config files. Replace "QT_NO_CORESERVICES" with "Q_OS_IOS" in source files. Change-Id: Id3b02316b245a24ce550e0b47596d18a4a409e4f Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Merge remote-tracking branch 'origin/api_changes'Lars Knoll2012-04-175-148/+32
|\ | | | | | | Change-Id: I964b0a6f5c38351fdfafb8a2a128a349ff8c89d1
| * Merge remote-tracking branch 'origin/master' into api_changesLars Knoll2012-04-163-14/+123
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/corelib/io/qurl.cpp src/gui/kernel/qwindow.cpp src/tools/moc/generator.cpp src/widgets/kernel/qwidget_qpa.cpp src/widgets/styles/qstyle.h src/widgets/widgets/qtabbar.cpp tests/auto/corelib/codecs/utf8/tst_utf8.cpp Change-Id: Ia457228d6f684ec8184e13e8fcc9d25857b1751e
| * \ Merge remote-tracking branch 'origin/master' into api_changesOswald Buddenhagen2012-04-103-2/+51
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/widgets/styles/qwindowsxpstyle.cpp tests/auto/gui/kernel/qwindow/qwindow.pro tests/auto/gui/kernel/qwindow/tst_qwindow.cpp Change-Id: I624b6d26abce9874c610c04954c1c45bc074bef3
| * | | QHostAddress: improve qHash implementationGiuseppe D'Angelo2012-04-082-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid the conversion to a temporary QString -- just hash the address as a byte array. Change-Id: Ic35cdbbc3ee66c32a28d911bd27de0092395979f Done-with: Shane Kearns Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
| * | | More qHash(T, uint) overloads for Qt typesGiuseppe D'Angelo2012-04-072-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The more we get in 5.0, the better. Change-Id: If00084477709db4fc3f6b2e15024d046491be2ae Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | Port QHostAddress to use the new IP utilities in QtCoreThiago Macieira2012-03-281-132/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new code now generates lowercase hex instead of uppercase, so adapt the unit tests to pass. Also, "123.0.0" is now considered valid (compatibility with inet_aton). Change-Id: I07b5125abf60106dc5e706033d60836fb690a41f Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
| * | | Merge master into api_changesKent Hansen2012-03-271-0/+2
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qisenum.h src/dbus/qdbusconnection_p.h src/widgets/kernel/qwidget.cpp tests/auto/other/qaccessibility/tst_qaccessibility.cpp Change-Id: I85102515d5fec835832cc20ffdc5c1ba578bd01d
| * | | | Optimise QHostAddress a littleThiago Macieira2012-03-231-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In QHostAddress::setAddress(SpecialAddress), avoid parsing strings. Change-Id: Icb756b4c8b06c21dbc231f8c7f0b0dac29ed97c3 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
| * | | | Merge master into api_changesKent Hansen2012-03-231-0/+2
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Change-Id: I93551e4d13a1b0815b359b9415060e9089477db1
| * \ \ \ \ Merge master into api_changesKent Hansen2012-03-162-1/+13
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qmetatype.cpp src/gui/kernel/qplatformsurface_qpa.cpp tests/auto/corelib/tools/qtimeline/qtimeline.pro Change-Id: Iff3fff34eeeb06f02369767ddfce44cfde505178
| * | | | | | QtNetwork: make some constructors explicitMarc Mutz2012-03-143-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a semi-automatic search, so I'm reasonably sure that all the exported ones have been caught. Change-Id: Ia00eb9194a5f64002bd7e7b894abf6333d1b825e Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* | | | | | | Fixed networkproxy build under WinCEBjoern Breitmeyer2012-04-162-0/+89
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The used functionality is partially not available under WinCE. qnetworkfunctions_wince.h encapsulates the needed extra symbols. It only needs to compile as the functions are loaded dynamically. Change-Id: Ieb9010d4f6c7f94d39918b869ac503976e094e49 Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* | | | | | fixed compiling of QDnsRunner for wince and windows desktopBjoern Breitmeyer2012-04-121-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ce only has the utf16 variant desktop has all variants of the DnsQuery call. Unified it to the utf16 variant. Change-Id: Ic126c3f53da71c85a41a5c24c85970335700bcf0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* | | | | | Modified project files to be iOS compatible.Qt4iOS2012-04-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed some MacOS source code files from iOS build. Use unix standard paths for now (iOS-specific implementation will come later). Change-Id: I8b2731b431b3a379a1ec4ec07d227e886209e3e9 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* | | | | | Add Proxy Auto Config support (PAC) on MacAron Rosenberg2012-04-112-5/+113
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds support for fetching and parsing Proxy Auto Config files if one is specified in the Mac System Preferences Task-Number: QTBUG-2069 Task-Number: QTIFW-28 Change-Id: I91feb999222187e7467f2c41383904cf0cff8633 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* | | | | Fixes a problem with the proxy detection on WindowsThierry2012-04-031-2/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current scheme is to use IE's default config. If that fails get the winhttp config. That's ok. The problem is that if you run a program as a service getting the IE config will set the fAutoDetect flag. But later the call to WinHttpGetProxyForUrl mightfail with the error code ERROR_WINHTTP_AUTODETECTION_FAILED. this patch just makes sure that we have a fallback winhttp solution in case the IE proxy is not set. The new code detcted if the current process is a service, in which case it will try to default to the system-wide proxy. Change-Id: I57e9082a46a8422c54f8f069715752c271a3a001 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* | | | | Set QNetworkInterface::IsPointToPoint on WindowsMartin Petersson2012-04-022-0/+5
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was never set on Windows Xp or later as we only checked for this in the old interfaceListingWin2K() function. Task-number: QTBUG-10170 Change-Id: Ib0808a945d9d1b31019967a69e668ec216702799 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | Fix performance problem with NTLM auth in http POSTShane Kearns2012-03-231-0/+2
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A combination of other fixes resulted in authentication credentials with a blank username & password being incorrectly added to the cache only for NTLM. This caused authentication to be attempted with blank credentials first (which would fail), before the authenticationRequired signal was emitted. It caused a performance issue because of the extra 2 requests to the server (and possibly delays inserted by the server following a failed login) Change-Id: Ic588a20cfe7c24d5e60cd384caff0673a587e484 Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
* | | Don't do anything if setting the same proxy factory.Xizhi Zhu2012-03-221-0/+2
| |/ |/| | | | | | | | | | | | | Otherwise, it crashes if you simply set the same proxy factory instance twice. Change-Id: I4b1f1d0eed7630c9a145c0a330c6be1b3fc381e5 Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
* | Make sure QGlobalNetworkProxy is created for QNetworkProxy.Xizhi Zhu2012-03-151-0/+8
| | | | | | | | | | | | | | | | Otherwise, you don't have any socket engine handler created when directly setting a proxy to a socket. Change-Id: I35cd7f52331672a6d3e7bcdf817c0fe1fd1e7de3 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* | Build with the LSB build envHarald Fernengel2012-03-151-1/+5
|/ | | | | | | | LSB doesn't define some functionality that we expect on Linux, so fall back to the generic code. Change-Id: I19e09908b9e9002140535f159ae0745d7ca80b70 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add debug stream operator for QNetworkProxyShane Kearns2012-03-082-0/+51
| | | | | Change-Id: Ib8e7ba041ede33dc9c751432e39be2d6a9f4662d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Windows - handle both auto detect proxy settings togetherShane Kearns2012-03-081-7/+31
| | | | | | | | | | | | | | | | If both "automatically detect settings" and "use automatic configuration script" are selected in internet options, then respect that. Because of performance issues, these are tried separately, and disabled if they fail. Task-number: QTBUG-13957 Task-number: QTBUG-10238 Change-Id: Ibc824d3039afeaf12c5ea82ed95287e5cf4e1776 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Fix a number of bugs with windows system proxiesShane Kearns2012-03-081-6/+75
| | | | | | | | | | | | | | | | TcpServer requests always returned no proxy, even if socks was available Tag handling was broken for empty tag (if system proxies were tagged) Tag handling was broken for unknown tags - now handled the same as if no tag was given at all. When there are different proxies for http and https, windows returns the http proxy first. However we should prefer to use the https proxy for general sockets, as it's more likely to support the CONNECT method. Change-Id: I55dcadf2e142367e857f94e55fdbb0c4ddb513a3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Windows - fall back on static proxy config if autoproxy failsShane Kearns2012-03-081-23/+17
| | | | | | | | | | | | If both manual proxy settings are configured and the autodetect setting is enabled, fall back on the manual configuration when auto detection fails. Task-number: QTBUG-10428 Change-Id: If008c7c967eec6256ce3c614fff0ec258190d451 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Windows - handle proxy autoconfiguration resulting in no proxyShane Kearns2012-03-081-0/+2
| | | | | | | | | | The PAC file may result in direct connection, in which case WinHttp returns null strings for the proxies and the connection type marked as direct. In this case, return the default list (no proxy) Change-Id: I601033f56a841bb92ea80a28174bb993b024ad79 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Windows - fix proxy types for manually specified proxiesShane Kearns2012-03-081-8/+15
| | | | | | | | | | | | | | | When the windows internet options are used to specify a different proxy for each protocol, assume the proxy server type matches that protocol too. e.g. "socks=qt-test-server:1080" is both tagged for socks, and assumed to be a socks server. "ftp=qt-test-server:2121" is assumed to be an ftp proxy "ftp=http://qt-test-server:3128" is overridden to be a http proxy used for ftp. Task-number: QTBUG-10502 Change-Id: I70615c89d6ede53f0e7d62e6d0754b90d042aa2e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Windows - fix QWindowsSystemProxy global static raceShane Kearns2012-03-061-1/+1
| | | | | | | | Loser of the race would try to delete an uninitialised pointer Task-number: QTBUG-15765 Change-Id: Ie184ee2306e102aa8fbad752ef09b95c3ede00c2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove the usage of deprecated qdoc macros.Casper van Donderen2012-03-024-55/+55
| | | | | | | | | | | QDoc now has support for Doxygen style commands for italics, bold and list items. This change applies that change in QDoc to the actual documentation. Task-number: QTBUG-24578 Change-Id: I519bf9c29b14092e3ab6067612f42bf749eeedf5 Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Use QSystemError for QDnsLookup windows backendShane Kearns2012-03-011-1/+2
| | | | | | | | | | | The OS provides the error string in this case. This gives more information to the developer seeing a generic error. Change-Id: Ia03642982f3513ee5a8a9fa98d918e948f8d97a5 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* Fix buffer overrun crash running MSVC2010 win32 Qt on win64Shane Kearns2012-03-012-32/+4
| | | | | | | | | | | | | | | | | | | | When loading dnsapi.dll as a plugin, we experience crashes because the calling convention is not specified. The default is _cdecl, but __stdcall (via the WINAPI macro) should be used for windows APIs. Mismatched calling convention results in corruption of local variables, probably because the stack pointer is incorrect and SP offsets are used in optimised builds rather than frame pointer offsets. Since the library has been available since Windows 2000, I don't think that we need to load it dynamically. (Unlike the unix version where it isn't part of the LSB) Also checked that the current release of mingw works. Task-number: QTBUG-24227 Change-Id: I37c0a6aa0c133799c2a6dd9391ca1435ba2539ea Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix error handling in QHostInfo windows backendShane Kearns2012-02-171-10/+18
| | | | | | | | | | If the DNS server returns a non authoritative host not found response, then windows returns WSATRY_AGAIN error code. This is now reported as HostNotFound and not UnknownError Change-Id: I212985acd4e85ff4b2bdb6c57ec403405a7695fb Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* Remove unnecessary locking from QNetworkProxy constructorShane Kearns2012-02-171-17/+6
| | | | | | | | | | | | | | | | | | | | | | | QGlobalNetworkProxy (a singleton) had two phase construction, with the second phase being called from QNetworkProxy's constructor. This isn't necessary, and has been reported as causing deadlocks. Although constructing socket engine handlers has side effects (they add themselves to a list on construction and remove themselves on destruction), this appears to be safe. The socket engine handlers are only used while holding the list mutex, and any socket engines created don't have any reference to the factory that created them. With the new version, it is possible that two instances of QHttpSocketEngineHandler and QSocks5SocketEngineHandler exist temporarily if a Q_GLOBAL_STATIC initialisation race occurs. This appears safe, because the loser of the race deletes its handlers, which remove themselves from the global list as above. Task-number: QTBUG-13088 Change-Id: I8cf520da717d8ab7d862ab89c6de13aea6d60ac3 Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix warnings about missing file.Friedemann Kleint2012-02-171-1/+1
| | | | | Change-Id: I8644d2b80bab9c18f666d742da389e84bf3f124c Reviewed-by: Xizhi Zhu <xizhi.zhu@nokia.com>
* Update documentation to show NTLMv2 is supportedShane Kearns2012-02-171-4/+2
| | | | | | | | | This feature was implemented in 4.8, but documentation was not updated at the time. Task-number: QTBUG-18181 Change-Id: I657d7ab7aaf43b73b7bf8fd1cb76086522cf5c2b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Qt Network: Added the \inmodule command in the class documentation.Michalina Ziemba2012-02-163-1/+4
| | | | | | | | -Some of the public classes were missing the \inmodule command. -Fixed a sentence. Change-Id: I88ebe12680c744e32253dc01c5ddb4292267caf9 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Include headers before QT_BEGIN_NAMESPACE.Xizhi Zhu2012-02-162-2/+3
| | | | | Change-Id: Icaef1cb280d2968e4a35c93375749d2d9feff856 Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
* Add missing private headers to .pri.Xizhi Zhu2012-02-161-1/+6
| | | | | Change-Id: Ia0f37953124198dce000adad9dfae051925d526e Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
* Various documentation fixes ported from Qt 4.8Teemu Katajisto2012-02-151-3/+3
| | | | | | | | | | | | | | | | | | Final set of selected documentation fixes for qtbase from Qt 4.8 commit bacae725e584f51ee2fd83af7bef3e4515de9587 Task-number: QTBUG-13362 Task-number: QTBUG-18356 Task-number: QTBUG-18417 Task-number: QTBUG-18664 Task-number: QTBUG-21562 Task-number: QTBUG-22094 Task-number: QTBUG-18741 Task-number: QTBUG-15921 Task-number: QTBUG-15738 Change-Id: I3bd33bb7ce7aa991913ba82f3ea0e4b124f3ee41 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>