QCocoaPrintDevice: fix bad CFRelease

CFRelease should be called IFF PMPrinterCopyDescriptionURL succeeds

Change-Id: Id289aea3a4e3da397dae4062319256a043538597
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
OS X: fix CFString leaks in mime classes

Some CFStringRefs created with CFStringCreate* methods were not being
released. Using the QCFString helper class to perform auto release.

Change-Id: I36d15c0d35118524089e99ea3cd53c41342d6308
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
QWindowsStyle: fix CE_ComboBoxLabel text color

CE_ComboBoxLabel was relying on a font color / painter pen set
by CC_ComboBox. This change ensures that CE_ComboBoxLabel has
correct color when CC_ComboBox and CE_ComboBoxLabel are drawn
independently.

Change-Id: Id548d831fdde5885bc7c157d55de6235ef3f0a56
Task-number: QTBUG-41702
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Add manual test for touch events.

Unlike qtouchevents, this provides a touch area which logs its
events and devices.

Task-number: QTBUG-40461
Change-Id: Iaaa3589dd692caf8c7078f5ed2ff1e8b2322a369
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Import the FreeBSD strtoXX functions

Obtained from:
http://freebsd.googlecode.com/git-history/4658f9721d395818ba760a79b1cb0b54957d4576/lib/libc/stdlib/strtoull.c
http://freebsd.googlecode.com/git-history/4658f9721d395818ba760a79b1cb0b54957d4576/lib/libc/stdlib/strtoll.c

Changes:
 - remove the #includes and the SCCSID
 - rename from strtoxx_l to qt_strtoxx (merging the two functions)
 - remove __restrict
 - remove the locale_t parameter and use ascii_isspace instead of isspace_l

Change-Id: I1e522e12da90eb35eefcf4025102dc11b22c60a5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Remove executable mode on qwidget_window.pro

Change-Id: Ibb522af33e8490719010af441cce712bdc7a71bf
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Attempt to make QFile I/O 64-bit safe

Use qint64 wherever possible. The linear buffer is never requested to
allocate that much memory (always limited), but at least we ensure we're
not dropping bits where we shouldn't.

Windows's POSIX compatibility layer is never largefile enabled, so it is
always necessary to chunk large reads and writes. On Unix, this will
be rare, unless someone passed -no-largefile to configure, for some
weird reason.

Unfortunately, this is not testable, unless we can allocate a buffer
with 4 GB or more in size. The test for this would be to open a file we
know to be small, then try to read 4 GB + 1 byte. If everything works
correctly, we'll read the full file; if there was a truncation, we'd
read one byte.

Change-Id: If3ee511bf1de17e0123c85bbcaa463b9972746ce
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Don't always chmod the XDG_RUNTIME_DIR

Since the current user is the owner of the dir, we'll get 0x7700 as
permissions, not just 0x700. With the wrong check, we were always doing
an unnecessary chmod.

Task-number: QTBUG-41735
Change-Id: Ib1fc258fef4bf526baa9c71201f9b78d36f5454f
Reviewed-by: David Faure <david.faure@kdab.com>
Report the system error on why chmod(2) failed in XDG_RUNTIME_DIR

This is a very rare occurrence: if the user is the owner of the
directory, the user can chmod(2), and we already checked that the user
is the owner. However, chmod(2) can still fail on read-only fs and on
hardened systems.

Task-number: QTBUG-41735
Change-Id: I8f8bac763bf5a6e575ed59dac55bd265e5b66271
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: David Faure <david.faure@kdab.com>
Autotest: synchronize with the peer before emitting more signals

Several of the unit tests request that the peer emit more than one
signal, but only handle one. The rest of the signals stay queued in the
socket and will be delivered at the next test, causing it to fail often.

This doesn't happen in the tests with the bus. There, we don't receive
the extraneous signals due to AddMatch/ReceiveMatch on each signal
individually and the synchronous nature of the emission (the signals
have already been emitted by the next AddMatch and cannot match it).

Task-number: QTBUG-42145
Change-Id: I743a0553074972042fca46b76db5d9e7b3209620
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Fix warnings about size conversion in QList

Because difference_type is 64-bit on 64-bit systems, there's a
downconversion warning from MSVC and possibly other compilers when it
gets passed to functions taking simply int.

Task-number: QTBUG-41092
Change-Id: I46a710810f4a57b8b84c4933f419a1f1fdf6bb5a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
QShapedPixmapWindow: do not leak the backing store

Change-Id: Id7cc8cbbcd62c546055d525473f90d2bad0c144a
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Cocoa plugin - fix a resource leak

The patch 916dfcb8275bcce6b39606cd0b930239a60dc5df while fixing one problem,
introduced another - leaking CGImage.

Change-Id: I08db6ea9fa97ae3489a0bfa1f93e0d18f3671885
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Handle mounts under /run

We shouldn't excluded all volumes under /run since some distos will
mount filesystems there. Instead we should exclude all filesystems with
the type "tmpfs" that /run has, and rpc_pipefs that is mounted below
/run. Tmpfs" is excluded for all UNIX systems since the BSDs have
a similarly named filesystem.

Change-Id: I03fdac515c0bfb1b824b2e3eae1022dd699c0998
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Windows: Create touch device in initialization.

Previously, the device was delay-created, which is a problem
if its type is to be used for determinining the pan gesture type.

Task-number: QTBUG-40461
Change-Id: I2dee3d7a3786a0fdf0a9b2b9e174dd121697ab44
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Lower QVariant::userType call count

We know that type id can't be changed, let pass this information to the
compiler.

Change-Id: I105b460417288b84250a954571c247608976f8f7
Reviewed-by: Stephen Kelly <steveire@gmail.com>
Mark QMetaMethod and related constructor as constepxr

qtdelcarative's qquickaccessibleattached.cpp contains now some static
instance of QMetaMethod.  Marking the constructor as constexpr,
let GCC to remove call to the constructor at load time.

Change-Id: Ic5ab7db0d06caa08f15d65d3bb5f22a34a111fee
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
iOS: Make sure we update hints and platform data on IM enable/disable

Change-Id: If4d9c9c769b598a3194a7cd5bbe5c74e7650694b
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Enable the latest versions of GCC, Clang and ICC with -Werror

Tested with GCC 4.9, Clang from XCode 5.1 and ICC 15 beta.

Clang 3.5 (pre-release) cannot compile qtdeclarative yet with -Werror
due to invalid C++ code there that calls member functions on null
pointers.

Change-Id: Ic2845371a1899716985bc0813dfb820fa418e207
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>