Fix building of JSC for earlier versions of gcc on Mac

Since building for Carbon typically uses older versions of gcc on older
versions of Mac, then we need to revert
0de22e80ac645afc3793419300d6271d95809196 partially in order to fix this.
Since the original code was just a cleanup then this is safe to do so.

Change-Id: I5dd8fe99704ffac66ac3384b62849fa8162ca82d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Qt 3 Support: Prevent double deletion of QObjectPrivate::threadData in QSettings.

Task-number: QTBUG-36908

Change-Id: I8f9f86f20bd8bb479c2637f6c276e4e2593ecef9
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Fix network tests relying on troll.no

Replacing old troll.no domain with qt-project.org domain. Using troll.no
doesn't work anymore.

Cherry-picked from e5785d6322051ba96b1a4a97963a64c1aabbc027 in qtbase

Change-Id: Ib849205e3c8d254e4b0dfc8ed1c396259122481a
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Fix building of WebKit's JSC for earlier versions of gcc on Mac

Since building for Carbon typically uses older versions of gcc on older
versions of Mac, then we need to revert
e3c44790065894f4e7f98ab097fce22c5bcbbd0a partially in order to fix this.
Since the original code was just a cleanup then this is safe to do so.

Change-Id: Ic662841f53660b763af2bc71cb9b4684fe614063
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Fix Mac Bearer when machine has no wifi

This manifested itself for some continuous integration machine, all
regular macs have wireless. In case there is no wifi, we would never
emit updateCompleted().

Change-Id: I81dce65cdbb0091944c4e79fdb5f2b7f5f70de88
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Simo Fält <simo.falt@digia.com>
tests: Mark tst_qdbus* tests as insignificant on OS X

D-Bus libraries were recently added to OS X 10.7 making these
tests to be executed for first time.

Task-number: QTBUG-37469
(cherry-picked from qtbase commit 9f87c3663d49a0a4c5affe6119ce399a6d0f5e7a)
Change-Id: I7886614bcaab290c3d4fef94d93ee9ad7837a3ee
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Prevent spurious SSL errors from local certificates.

Qt since approximately 4.4 has set the verify callback on both the SSL
store and the SSL context. Only the latter is actually needed. This is
normally not a problem, but openssl prior to 1.0.2 uses the verify
code to find the intermediate certificates for any local certificate
that has been set which can lead to verification errors for the local
certificate to be emitted.

Backport of 7c8131763de9e70ca56f16635716e7e00559b5d1

Task-number: QTBUG-33228
Task-number: QTBUG-7200
Task-number: QTBUG-24234

Change-Id: I65db8b658df9ff86095381c7b87d690258f03c3a
Reviewed-by: Daniel Molkentin <daniel@molkentin.de>
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Fix compilation failure in configure.exe

Fix regression introduced in (incomplete) commit 95f256d21dd.

Change-Id: I319f214a38134b5b97164ec61b2ae482e6542b86
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Doc: Discuss the concept of thread affinity in more detail

- Create a section dedicated to this concept, which is fundamental to
  signal/event handling
- Move relevant content from the very broad "Thread Basics" page to the
  QObject class ref
- Flesh out existing content, including distinguishing signals from
  events
- Address the common misconception that "member" = "child"; this has
  been encountered several times in the Qt Project forums

This is a cherry-pick from 3b45dfe6e6ff6c0626b in qtbase.git

Change-Id: If3b65f3da4e1ca414c7175c4e22bcdef38f45442
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Doc: Update, and reduce duplication of, QThread-related info

Added/Changed:
- Move content from the Thread Basics overview to the QThread class ref
- Rephrase bits for clarity
- Use more links

Removed:
- (threads-basics.qdoc) Warning against moveToThread(this): This usage
  came about when people tried to add slots to a QThread subclass. This
  patch adds a warning against the root cause.
- (threads-basics.qdoc) The strategy for managing member variables:
  Sounds error-prone. Pushing results through signals is safer.
- (qthread.cpp) The note about GUI classes: Irrelevant to QThread,
  and it's already mentioned elsewhere.

This is a cherry-pick from a9d5627e6a7b82 in qtbase.git.

Change-Id: I491f64f998050daf0251abb2126bc9f7a198c17d
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Add AArch64 detection support to JavaScriptCore.

Cherry-picked from qtscript commit 2e049836ee16f4aedbe7ccc3335fc5.

Change-Id: I8d9fdeceb62f4de4eb9bd74ae45bb33a641ef5cc
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Reviewed-by: Marcin Juszkiewicz <marcin@juszkiewicz.com.pl>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
do not use fileno calls in forked child

This fixes an issue that causes QProcess::start to silently fail on
OS X 10.9. Apparently, fileno(stdout) locks the handle on OS X 10.9.
It may happen that the parent process fflush()s stdout while the child
has just been forked. The stdout lock of the parent is never released
in the child and fileno(stdout) therefore locks forever.

According to the fork documentation on opengroup.org one may only call
async-signal-safe functions between fork and exec in the child. The
fileno() function does not appear in the list of async-signal-safe
functions. Also, fileno(stdout) and friends can be easily replaced by
the standard constants STDOUT_FILENO etc.

Done-with: Fawzi Mohamed <fawzi.mohamed@digia.com>
Task-number: QTBUG-37306

Change-Id: I2b1f5f47cc48a1ad020fb0493a955d2bc27aeb47
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from qtbase/b2216bbe06b8be2bef6d8bc2ffff1337f6d23358)
Fix recursive calling of QScriptProgram

The first time a QScriptProgram is evaluated, it gets compiled and
then executed. If the execution would somehow trigger another
evaluation of the script program, it would run into the compile
stage again (even though it already was compiled), and then trigger
and assertion in debug mode (or leak memory in release builds).

Backport of 08d9ef715265d33f4cf04693b0787fd75994dc42 from Qt 5.

Task-number: QTBUG-37317
Change-Id: I83e7efd5f238d021e200258826e2e4a9520c3a7d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Fix a crash when reparenting widgets on Windows.

Introduced by a9edbeddafe5d8866192de44f4028d07bd93013a .

Task-number: QTBUG-37346
Task-number: QTBUG-30276

Change-Id: I81e218839db50a88a8b149dd5481bfd0835284da
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Windows: Restore maximized/full screen widgets to correct screen.

Partially revert 54865d47cfd859a0e84ba8e1bbff3b56c93d4e0d and
bring back parts from abba37cd0eff959edf2d011842cbf2b36cce8467 which
failed some tests on other platforms and never made it in.

Avoid setting a geometry on maximized windows since that leaves
them in a broken state. Instead, if there is a need to restore
maximized windows to a different screen, clear the maximized flag
before applying the geometry.

[ChangeLog][QWidget][Windows] QWidget::restoreGeometry() now restores
maximized/full screen widgets to the correct screen.

Task-number: QTBUG-21371
Task-number: QTBUG-4397

Change-Id: Ibd5b736e921f20d4b7365c06c6f9c5dd4469c781
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
(cherry picked from qtbase/ae4243df1e53b0aaeada708f6fa7979a0f0d216a)
Remove -fuse-ld=gold from webkit's LFLAGS

This flag is not supported by upstream gcc. Thus the build might fail if the
gold linker is found.

This fixes https://bugs.webkit.org/show_bug.cgi?id=89312.

Change-Id: I931081fccf64a43b32f2aaf2c3ad377391fdad4c
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
network: fix doc typo in QNetworkConfigurationManager

(cherry picked from commit 32794abe722161e1224920865c77c37d74ab977b)

Change-Id: Icc66ac3fef52508abda85bafe225fc93f4eb9d4c
Reviewed-by: Richard J. Moore <rich@kde.org>
QWindowsXP/VistaStyle: Fix detection of item view delegate line edits.

The old code tried to check the 2nd parent for inheritance from
QAbstractItemView. This also triggers for line edits on a QDialog parented
on the item view. Introduce convenience function that checks for
top levels in the chain.

Task-number: QTBUG-37504

Change-Id: I932f8efdb4764e9b1eea84c802bf7e8718338e1d
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
(cherry picked from qtbase/176342e70a1ba7864a5b5dac14d12d4091ef5bd9)
Basic AArch64 (aka arm64) detection.

Patch by Marcin Juszkiewicz <marcin@juszkiewicz.com.pl>
licensed under either Public Domain or BSD:

<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=735488#179>

Change-Id: I9f415cb6ac6c4ff78588d96e36198c85ee202d96
Reviewed-by: Marcin Juszkiewicz <marcin@juszkiewicz.com.pl>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Use QCOMPARE instead of QVERIFY where applicable

Change-Id: I39dc7eac6d9478797adf55a69b829578f4adc5eb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>