refactor disconnectFromFtp to remove cached entries when necessary

In cases where a cached ftp connection fails to connect, or a file
transfer has failed, we should removed the cached connection. Since qnam
has an idea of a single internal QFtp per full operation, when file
transfers failed previously the cached connection would be reused for
subsequent connections and thus fail.

[ChangeLog][QtNetwork][QNetworkAccessManager] QNetworkAccessManager now
properly handles FTP transfer failures by removing failed cached ftp
connections.

Task-number: QTBUG-40797
(cherry picked and adapted from qtbase/45cbbe56bc13216b83215ea148590eccf81f420a)
Change-Id: Ie9eec5ec54af16a8d19e34d04bdd993cc7bbd0f5
Reviewed-by: Richard J. Moore <rich@kde.org>
Mac Style: Fix QLineEdit frame in 10.10

Also removes some dead code.

Backport of 83f06da1c6bffff61af78cbe75a0691d53742b53 from qt5/qtbase

Change-Id: I7e088ca8b52bc3e2da25e29ab570469eab6f97bf
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
QMacStyle: Fix focus frame rendering in Yosemite

Using the HITheme API would result in the frame's right edge
to be missing.

Instead, we use the recommended technique to draw the focus
ring around a custom NSCell. (See
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ControlCell/Articles/ManipulateCellControl.html)

Backport of 769af6689337285927a2637b184149f688332542 from Qt5/qtbase

Change-Id: I8f3992edc065e14632ec4e473732b30bcf4c1937
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
QThread snippet: add missing & from connection statement

Change-Id: I0409feec55ebd19f80b0c2396c49b4999798ef74
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Fix QPainter::drawPolyline() painting errors with cosmetic pen

Task-number: QTBUG-31579
Change-Id: I8fd2c03ff9a22e4963bfcbcfe196ae4c61b9e10f
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
(cherry picked from qtbase/319cbb7597100f3b65792dc6a0ce2885ce6c0e8c)
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Allow Qt4 to also build in ppc64[el le]

This simple patch allows ppc64le (aka ppc64el) to build Qt4.

The original patch was done by Ubuntu's William Grant [0], but
I higly doubt this is copyrighteable.

[0] <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=749743#39>

Change-Id: I4cd204e314789337e34b460dda6e18143e3712ec
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Fix AArch64/arm64 detection.

The detection needs to go before arm, else the system will detect AArch64/arm64
as arm.

This patch comes from Wookey, he has agreed to put it under BSD or Expat
to allow it's inclusion in here:
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=735488#255>

Change-Id: Ic2171c03fca8bb871347940fa3a2bc467776f797
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Replace all ocurrences of NSApp with [NSApplication sharedApplication].

The former returns an id and the latter returns an NSApplication*. This
gives us the benefits of static typing and resolves a build error on
OS X 10.10.

Task-number: QTBUG-39644
Change-Id: I62939b168f391beb846f8a1c5ae789e45bceb858
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Don't call virtual methods after the source model is destroyed.

Calling clear_mapping causes the persistent indexes to be queried, and
mapped using map_to_source, so that they can be restored later. That
is not the appropriate response to the source model being deleted
because there won't be anything to restore.

Simply clear the stored mapping information instead so that the source model
actually exists when mapToSource is called by the framework.

Backport of 722798a359761a1eb635d18547b076615f192508 from qt5/qtbase

Change-Id: I9c74f97855046b968dfba7a35134c234b974e63b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
QSwipeGestureRecognizer: Use qAbs() to check distances.

Task-number: QTBUG-15768
Change-Id: Idc6c6687430365a015fb2c15f4e4dcae6a687f9f
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
(cherry picked from qtbase/74303ad497ff0e3a9876d349e2ce2f67f08c0fbf)
Revert previous QFileDialog fix for Solaris

This reverts previous commit 6d47f5a168e350a6d9cbddb343ff9d75ffbd2c04,
that broke compilation of QFileDialog in solaris (Sun CC).

Solaris defaults to Draft version of getpwnam_r if _POSIX_C_SOURCE is not
defined or < 199506L, and _POSIX_VERSION is defined as 199506L even when
_POSIX_C_SOURCE is not used, so it cannot be used to detect correct
posix support.

Task-number: QTBUG-21451
Change-Id: Ibbf2b9de1dea74e7d8b6003d1a4e3686e5858525
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Milla Pohjanheimo <milla.pohjanheimo@digia.com>
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
Fix font cache check in QFontEngineFT::recalcAdvances()

Cached font was used regardless of the format, resulting in incorrect
advance in some cases when default format differed from the cached
format.

Task-number: QTBUG-24188
Change-Id: I39e4156bd9ba743afa7e106e934c90227fbf2b8b
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
(cherry picked from qtbase/2ea976c3a713535c2419d936d575e0b24545f0fa)
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Reviewed-by: Jiang Jiang <gzjjgod@gmail.com>
QListView: Catch stack overflow on mutual scrollbar calculation.

Backport of fc4993be1fa7673016b6e5d81134463f163051f6 from Qt 5.

Task-number: QTBUG-39902
Task-number: QTBUG-38517
Change-Id: I66b2c7304423dd65d67158ae0dc70ad12e4fa783
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
admitting defeat

(cherry picked from qttranslations/b9a22c997c1a988ff8e6b52893e4673e9ac69a2b)
Change-Id: I050998c14f4053a5c006d7a0da8b8befb21902b0
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
QPdf::addImage(): avoid a QImage detach when it's in an acceptable Format

Don't detach QImage, when it's in Format_Mono or Format_ARG32.
Use QImage::constScanLine() instead of QImage::scanLine().

Change-Id: I30fcafb576aea3189637a40fd75f77c70017ba46
Reviewed-by: John Layt <jlayt@kde.org>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
(cherry picked from qtbase/1a32cc0ae42a4a49f2d45b8ad8251ec40a30bf76)
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
OSX: make QFileDialog::getSaveFileName honor the initial file name.

Since OSX 10.9 the NSSavePanel will call panelSelectionDidChange on the
delegate when the selection is changed programmatically, even when the
panel is not (yet) visible. This overwrites the selected file name
with the default "Untitled" before we'd set it in
runApplicationModalPanel. The fix is to check if panelSelectionDidChange
is called before it is shown.

Change-Id: I9ad6cd3afddc0aac35baebab31fd85cd7bf3f9e9
Task-number: QTBUG-36212
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Fix crash when accessing the content model.

1) Make sure invalidateContents() is called whenever the help engine's
   DB readers are destroyed.
2) In QHelpContentProvider::stopCollecting(), remove all root items, as
   they are invalid now: Their child items reference DB readers that
   are going to be destroyed.

Task-number: QTBUG-18829
Change-Id: Iab3245eb9fd405f28105aa08a976d9a108b9c70a
Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>