Windows: Use PostMessage for clipboard notifications for debugged apps.

Task-number: QTBUG-33492

Change-Id: I68af5f8ad767c55c95f758259cbb5d8a8080e70e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
qdoc: Correct location info for typedefs with associated enums

For typedef nodes that have an associated enumeration, qdoc
generates incorrect location info (written to index files)
by simply appending '-typedef' to the node name.  The correct
location to link to is the associated enumeration, if one
exists.

Task-number: QTBUG-33684
Change-Id: I749171ccae9ccc10f084a40fda14e72d5f4d44cf
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Win: Fixed namespaced build with QT_NO_FILESYSTEMWATCHER

Change-Id: I70049b90d2071c7a23a8a2804842d70d0f583f19
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
qdbusxml2cpp: Fix annotation value in an introspection string generator

Unescaped annotation value causes for harmless values in an XML file, for instance,
'value=\"QList&lt;uint&gt;\"' a DBus exception, like
dbus.exceptions.IntrospectionParserException: Error parsing introspect data

Task-number: QTBUG-26668

Change-Id: Ie1eb519aec5228da0591d62c3aa5b6dec5790eb9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
iOS: Always use application bundle when building Qt applications

Change-Id: I8fd0f7b43bdcbff0bff2de890fe421eb51233192
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
QWindowsWindow: Output warnings with classname/objectname.

Change-Id: I55a165669dbcadf2bd06b2315b1db43b092a1758
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Clear m_activePopupWindow on popup close.

QCocoaWindow keeps track of popup windows in order
to close them when appropriate, for example on mouse
clicks outside the popup. In this case the mouse click
will be used to close the popup, and will not be
send to the QCocoaWindow.

Clear m_activePopupWindow when the popup is closed
to fix a bug where the first mouse click after
closing a popup would have no effect.

Change-Id: I7a3e850e4fbf4686540d5d89dac6d7b613ed10a4
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Fix regression in trackpad scroll event handling.

bab29dd76 changed scroll event handling to update
the keyboard modifier state during scroll event streams
and brought back the bug where Qt Creator would suddenly
change the font size if you pressed the command key
while scrolling.

Use momemtumPhase to detect scroll event streams.
momemtumPahse will be NSEventPhaseNone as long as there
are fingers on the trackpad. After liftoff it will
have a different value, and at this point we freeze
the keyboard modifier state until the scroll event
stream has ended.

This approach does not interfere with normal mouse
scroll wheels since momentumPhase is PahseNone for all
such scroll events.

Change-Id: I668ade8e794a97491487c9465366a316a7d6a9c8
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Use a pimpl in QLoggingCategory

With the usual pros/cons. Cleans up the publicly visible
interface and gives some headroom for further extensions.

Change-Id: I7237b1fd2a22c66574d1b7e532d99137bb56ce1d
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
QVarLengthArray - doc fix.

QVarLengthArray actually does support iterators.
It was added in Qt 4.8.

Change-Id: I9f714a09eab1d2e5dc023bd701ab7c743b078ec0
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Android: Handle new QtTraceMsg in message handler

Change-Id: I3eb6fa42044ff4bdd0219925abf9d18cad60de7c
Reviewed-by: hjk <hjk121@nokiamail.com>
Fix open ssl forwarding macros.

This patch fixes them in many ways:
- use Q_UNLIKELY to mark an error case
- reduce QtNetwork library size by 40315 bytes
- fix DEFINEFUNC9 which had wrong logic, happily it was not used
anywhere

Change-Id: Ic46a569f85aa22a00ecd88158e60c52f4665ec4c
Reviewed-by: Richard J. Moore <rich@kde.org>
Reduce QtNetwork lib size by 16111 bytes.

Warning message was repeated multiple times inside the library.

Change-Id: Idcd417dda22de189893db597acfc36c2aa99d078
Reviewed-by: Richard J. Moore <rich@kde.org>
iOS: Add explicit dependency on the Foundation framework for QtCore

First of all it needed on both OSX and iOS, and secondly it's required
for our Qt APIs, now that we provide conversion functions to Foundation
types such as NSURL and NSString, so it should be part of LIBS, not
LIBS_PRIVATE.

Change-Id: Ida4977d6aa0e76b3d1b8b565672c00a8526e3381
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Doc: Add docs for rvalue references and move constructors

These members were introduced in 4.8, but left undocumented. Because we
consider undocumented API to be internal, the members are \since 5.2.

Change-Id: I52e2840a8cfaa7f59f410b3e2a06c0942ea06539
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
QDateTime - Fix round-trip of second occurrence times

At the Daylight Tme to Standard Time transition, the local time repeats
itself, i.e. 2am occurs twice. Qt's behavior when setting this using
the local time is ambiguous, as it depends on the system implementation
of mktime, which behaves differently on different platforms.  Currently
this behavior remains undefined.  When setting using an msecs or time_t
value however we can determine the correct instance to use and cache it
to ensure that any conversion back from local time to msecs is performed
consistantly on all platforms.

Note that caching this value will result in any calculations being wrong
should the system time zone change, or its rules change.  This will be
fixed in Qt 5.3 when the system time zone change signal is implemented
and QDateTime switches to using QTimeZone instead of mktime to provide
consistnt behavior across platforms.

The QTimeZone spec does not require this fix as it already caches the
correct offset in setMSecsFromEpoch().

Change-Id: I799588db474e744a6d81e80f6a0442920569ebd3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Remove redundant code.

QPair is documented to initialize members

Change-Id: I1dccfd265521ca3ca1a648b161c0a163c72e2f2e
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
Fix error signal supression for failed DNS lookups

Sometimes the signal QNetworkReply::error(QNetworkReply::NetworkError)
is not emitted for certain requests.

This happens under the following conditions:

* The hostname provided in the request is incorrect, i.e it will
  result in a DNS lookup failure.
* There is a previous request, for the _same_ host, already pending.

The first request that comes for the (incorrect hostname) url, gets
enqueued via QHttpNetworkConnectionPrivate::queueRequest(). Here,
after starting a DNS lookup, we mark the network state of this
connection as - "InProgress".

Now, if a second reuest comes for the same host, we use the existing
HTTP connection object as it's present in the cache. However, when
enqueing the request (in queueRequest()), we see that the network is
NOT in "Unknown" state and return immediately without adding this new
request to the list of pending lookups (via QHostInfo::lookupHost()).

To fix this issue, we should queue incoming lookup requests, even if
the current (HTTP) connection is in the "InProgress" state, so that we
can inform the requestor of a failed lookup. Since
QHostInfo::lookupHost() handles lookups for duplicate hostnames
properly, things should be fine even if multiple requests for the same
host have been enqueued.

Task-number: QTBUG-32911
Change-Id: I6a9c8430121e9a5a2d45983b6bda70c324437992
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
qfeatures: Allow QFileSystemModel without QFileSystemWatcher

As of 373e44d, QFileSystemModel can be built without QFileSystemWatcher
support, making this define incorrect.

Change-Id: I1c18dc4f323f94b43f4e49646911fd06b0f01f73
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Fix bootstrapped build of QCoreApplication

696060134d10d44175970ffd38618544ecdd9387 introduced the use of
QBasicMutex and QMutexLocker (qmutex.h) but that wasn't #included. I
don't know in what way my build is different, though.

Change-Id: Ie3df3c746fdf1c4735f298c3578cd93a9a14327e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>