Fix crashes in QtHelp when too many connections are made

Fixes a crash when Qt Creator was registering a large number of .qch
files on first startup: In this case the limit of 1000 connections
within one session will overflow, resulting in conflicting connection
names and crashes later on.

Remove this limitation by keeping separate counters per connection name,
and also not wrapping around after 1000.

It's not clear where the 1000 connection limit stems from: The offending
lines predate the first git import of Qt 4.

Task-number: QTBUG-36480
Change-Id: If00276652644efa854a75407d00ba01069bde02a
Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
Update changelog for 5.2.1

Change-Id: I16ff3a410898563857b70d467f6ba8599c722ce6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
androiddeployqt: Support spaces in jarsigner arguments

The input to the jarsigner (specifically the password, alias,
file name, etc.) can contain spaces, so the arguments need
to be quoted.

[ChangeLog][Android][androiddeployqt] Fixed signing packages
using arguments containing spaces.

Task-number: QTBUG-36327
Change-Id: Ie673ab91da4ffe074851a6ddef96efbb7657636b
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
make the MinGW build of lupdate work for non-admin users

Windows User Access Control thinks that lupdate is an installer,
because of the string "update" in the executable name.
MSVC automatically creates and embeds a manifest into the executable
to state that lupdate doesn't need admin rights.
For MinGW we now embed a handcrafted manifest.

[ChangeLog][lupdate] Fixed lupdate requiring admin rights when built
with MinGW.

Task-number: QTBUG-36369
Change-Id: I306ba4c13014f2e39fc5785bb90bacd951726ad4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Assistant: Load all applicationIcon pixmaps.

Qt Assistant, when used as a custom help viewer, would not load all
sizes of the application icon specified in the .qhcp file. Now
application icons look good everywhere, provided the files contain
multiple icons of various sizes.

Task-number: QTBUG-28267

Change-Id: I362e2feafa7944b0ad25627fb2fcea1b90af4e53
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Merge remote-tracking branch 'origin/release' into stable

Change-Id: I6d8fce7daab4dcfc9ffc93543dd0a1337a3f3c9d
Document how to use windeployqt.

Change-Id: Iabc27ad9adb5597904c3d03a732c8fa84336f55c
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Merge remote-tracking branch 'origin/stable' into dev

Change-Id: I70d45044c3dcb1e4da7ed9da377b77e6c0f9442b
Introducing winrtrunner

winrtrunner is a console application for launching WinRT Qt packages. It
handles:
- installing (registering) & removing the package
- launching & terminating the app
- fetching & dispaying test output for test cases

It is designed to compile everywhere, as the platform-specific backends
are left out where not supported. Currently it only has a backend for
Appx packages, so MSVC2012/2013 is required. It may support other
backends over time, such as Windows Phone and remote Appx, as well as
any host SDK that gains support for deploying to these platforms.

Done-with: Maurice Kalinowski <maurice.kalinowski@digia.com>
Change-Id: I424c228435d8eb4608a1d1854106b9df69ca5f11
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Windows Phone backend for winrtrunner

Adds Windows Phone deployment support to winrtrunner. Access to Windows
Phone devices is provided by the CoreCon API, a set of COM interfaces
which are registered when installing the Windows Phone SDK.

Change-Id: Iff2b2128e3925e6676697e81750c8060e1b8072d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
winrtrunner: CoreCon builds with x64, so let it

The phone portions may not initialize on x64, but we can still let them
build.

Change-Id: I60f886a0662772547778a7130422104283fd39a1
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
WinRTRunner: Fixed access violation when listing phone devices

In case of an x64 environment phone devices cannot be listed, but
winrtrunner should not crash in this case.

Change-Id: I6963e1c4f2dc73424fa7ebde13cbce759dfaabc4
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Introducing Qt D3D Compiler service

This is a utility for monitoring and deploying D3D shader blobs
requested by d3dcompiler_qt. It is designed as an on-demand service that
runs while it is needed. It must be started manually via netsvc.

The service may be started from the command line using the -direct
option, or installed as a Windows service by passing the -install option.
After it has been installed, one can use net start/stop to control the
service.

The service supports monitoring applications on the local machine or
remote devices. To register an application for monitoring, call
qtd3dservice -register <device_id>:<application_id>. The device ID can be
an index, or the full device string name. For the local machine, use
"local" or omit the device name. The application ID is the the product
ID for XAP packages, or the package full name for Appx packages.

An application can be removed from the monitor by passing -unregister with
the same arguments as register.

A list of registered applications can be retrieved with qtd3dservice -list.

When the service is started, all registered applications will be monitored.
If the device is disconnected, the service will try to connect for up to
30 seconds before giving up. Once the service has given up, it must be
restarted (using net start). Therefore, it is important that "net start
qtd3dservice" is configured as a deployment step.

Change-Id: I0aac3a8548359602c5e3ada33ceaeb722ec3d3dc
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
CoreCon Server: guard with a QMutex

The server may be used from several threads at once during startup, so
use a mutex to protect initialization and enumeration of devices.

Change-Id: I6a6605ac80af3da7f330474146e2256418892e50
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
winrtrunner: Always add -qdevel to phone install args

The -qdevel argument allows winrtrunner to get the PID of the running
application. If winrtrunner builds a package, it might as well have
-qdevel in the arg list, because winrtrunner is likely to run it. The
extra arg shouldn't affect normal applications and won't be present in
packages built for the Windows Store anyway.

Change-Id: I57c1e7b5eecbeff9c1660cfd1c2fd016e3daee06
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
CoreCon: fix message output

Some HRESULTs use 0x973 as the origin, so adding that to the error
formatter corrects some error messages that would otherwise come across
as "??".

Change-Id: I1d8520088c37cda954a94b3bcd0d15504b7a0757
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
fix stop command for Xap profile

Added missing connect call in XapEngine::stop.

Change-Id: I08ab5f63d65daded335d56d74a7fa835de2558e4
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Bump module version to 5.4.0

Change-Id: Ia57a1291ab4a8c76ad345dcad0b091ff8a9dbb96
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
winrtrunner: Stay attached until the app is terminated

If waiting for the app to terminate, consider the app still running if
it is suspending/suspended. Only stop when the app enters the
terminated state.

Change-Id: I3b56b77dd375fea0ea34e31d60d9a595b3fd7a65
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>