Add opt-out environment variable for @2x images

There are cases where @2x images are in use but
where you don't want the associated behavior:
- You are implementing an image editor
- You are inheriting a resource set which has @2x
  images, but don't want that behavior with Qt.

Add support for disabling @2x behavior with QT_HIGHDPI_DISABLE_2X_IMAGE_LOADING.

Change-Id: I206e050b6241f8935b4404c7a28b024a9e00d46c
Task-id: QTBUG-38485
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Move QXmlReaderPrivate to private header.

First step for making QXmlSimpleReader reentrant.

Task-number: QTBUG-40015
Change-Id: I1666672b1759adb745b86ce58488142f3c66d3f5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Make QDom/QXmlSimpleReader reentrant.

I moved the evil static bool to QXmlSimpleReaderPrivate, and used
it from QDom, when the reader instance is a QXmlSimpleReader
(if it's not, nothing happens, like before).

Task-number: QTBUG-40015
Change-Id: I54ba89db334d7b086379c4a6840cf0de23f77027
Reviewed-by: Thiago Macieira <thiago.macieira@intel.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>
Accessibility Linux: Fix crashes when accessing invalid functions

There is no way to prevent ATs from calling random functions on DBus.
While these functions shouldn't exist when we don't advertise the
interface, they should just fail gracefully.

Task-number: QTBUG-40044
Change-Id: Ia29b49b16feabc0beb80007456e53497f230c7d4
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Doc: fix a link in QAbstractOpenGLFunctions documentation

Change-Id: Icc0109de22de756f7e4b3e888b0ee28a9b9c04d5
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Fix debug output of QTouchEvent.

Return dbg.space().

Task-number: QTBUG-29946
Change-Id: Ia79b297ee3801ccba9f7b1c22ac7a8761cbe8b2e
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Improve QListWidget documentation.

Mention that removeItemWidget() isn't sufficient to remove a row.
List related functions so that it's easy to see the relation
between them.

Change-Id: Ia1d467390f00976e2276d50df35dd555f7992a9a
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Attempt to work with Visual Studio in -Za (strict ANSI) mode

Visual Studio always treats enum values as signed int, even when the
value doesn't fit in a signed int (like 0x80000000 or larger than 32-
the tags themselves are still signed. That causes ambiguity in creating
a QFlag from an enum value.

Visual C++ defines __STDC__ in C mode, but we have no macro in C++ mode.

Also note that the Windows SDK headers don't compile in -Za mode.

Task-number: QTBUG-39700
Change-Id: Ia943cef37ac1f539bd461c3c18200b0c365c72b3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Fix QTimer with negative interval in QWidgetLineControl::setCursorBlinkPeriod

When keyboard blink is disabled, msec will be negative (-2 in my case).
In that case if (msec) will evaluate to true and create a QTimer
with a negative interval. Fix is to check for msec > 0.

Change-Id: I5c8d82c3cdaf26a961c986f4164805aacfe3ae37
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Fix typo in QGraphicsView documentation.

Change-Id: Ib750a78e86b8af87d091705a1107ca1eccf32389
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Android: Refactor exception checking in qjni.

In places where we call java/jni functions that can throw exceptions,
we check and clear the exception, if necessary. This change moves
the "checking" code into a single (private) function.

Change-Id: Ic3de2be51305972b096e1ed0a477e341eb5d9404
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Doc: removed trolltech.com from namespace in manual qdocconf file

Task-number: QTBUG-23270
Change-Id: Id65ded1adbbb4f15ef5634f9a984c6cfad5c18d5
Reviewed-by: Martin Smith <martin.smith@digia.com>
Fix for code snippet in commandlineparser documentation

One line in the code snippet wasn't translated whlie the others were.

Change-Id: Ie77a317833f800087b485609cd001dd26060a40f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Document QApplication::cursorFlashTime() can return -1

On Windows QApplication::cursorFlashTime() can return -1 if keyboard
blinking is disabled. Add documentation for that case.

Change-Id: I1e5d683573e55b045e2d9bd9804daf4be579fd02
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Android: [REG] Fix QScreen::physicalSize()

The physical size should be set based on the screen size, not
the available geometry. This used to work in Qt 5.3.0 because
the screenSize and size of the available geometry was identical
on startup, but in Qt 5.3.1 the available geometry is 0x0 until
there the metrics are actually available to avoid flickering on
startup, so this caused a regression.

[ChangeLog][Android] Fixed regression where QScreen::physicalSize()
would return 0x0.

Change-Id: I6c2ee11205427a88764e129b05ece6d3fbbf4c99
Task-number: QTBUG-39978
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Support getting test data from qrc

If none of the other locations work, we can fall back to bundling
the test data in qrc to make it possible to include test data on
platforms that do not have any good way of deploying files to the
traditional file system, like Android.

Change-Id: I7779ce6be2380d551697cecfb9f76652d1fd0a38
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
REG: Fix nbsp in QTextLayout

At some point since Qt 4.8, the nbsp character has acquired
the whitespace attribute, causing it to be treated exactly
like an ordinary space. To account for this, we add an extra
check in the layout code to avoid breaking on non-breaking
spaces even if they have the whiteSpace flag set.

This is a temporary fix for the regression. The line breaking
algorithm needs to be refactored and support Unicode tr14
properly, which it currently doesn't.

[ChangeLog][Text] Fixed lines breaking on non-breaking spaces.

Task-number: QTBUG-39832
Change-Id: Ibd7e1a11ce4b82c611ecda1542c8638a67bf3cae
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Android: Fix compiling targets with space in name

We have to escape the target name to avoid compilation errors.
This fixes the compilation failure in the qprocess autotest.

[ChangeLog][Android] Added support for building libraries with
spaces in name.

Change-Id: Ib98ba261fb3a4cc1e835d0cd2f93aac6855a7c21
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Don't assert when HB-old is unable to deal with surrogates

Since we have no interest in fixing HB-old to properly support surrogates,
here is a simple workaround for the case when surrogate parts gets
treated like two separate glyphs in log_clusters but a single character.
And since it's a known issue that HB-old doesn't really support surrogates,
it's better to draw some garbage/boxes rather than to assert, IMO.

Task-number: QTBUG-39875
Change-Id: I95ff43e821ae989d7a6f792f71f157dcea92dd16
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>