Fix a crash of accessing deleted paintengine

When painting to QPixmap with QBlitterPaintEngine and dfb
PaintEngine have PaintDevice (pdev) as QImage. Painter code
uses PaintDevice::paintEngine() to refer to paintEngine.
This will became dangling pointer since QDirectFbBlitter::doLock()
will delete QImage. Instead return QPixmap as PaintDevice.

Change-Id: Idfac919b6438a82b412020e441e0a102e4a2a052
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Fix deprecated setOption() usage in GLX integration

The correct function is setOptions().

Change-Id: Ife9ff75c409c843b4871804fcfd06b9d2a7733d3
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Windows: Support .pdb file names with spaces.

Task-number: QTBUG-3314
Change-Id: I50a8739f134644e3561f1f7e2e04dac469da38b6
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Make bundled HarfBuzz-NG not depend on Qt

Change-Id: Id2a0e4ae4cf2b4a6c95985b3b31c846aac92f992
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Build bundled HarfBuzz-NG outside QtGui

Being a part of QtGui, HarfBuzz-NG breaks build with -Werror.
Instead of disabling a particular warnings-as-errors,
build a prefixed static library and make it a link-time dependency.

Change-Id: Id0be1f0e0034092d50f83cd364d5c65940fee869
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Fix qchar testdata installation.

NormalizationTest.txt does not exist in the project root, but under 'data'
directory. TESTDATA is converted to INSTALLS rules in testcase.prf.
INSTALLS rules generated in testcase.prf does not set 'no_check_exist'
CONFIG variable. Thus qmake will not install NormalizationTest.txt since
it cannot find it from defined location.

Even TESTDATA has been incorrectly defined, NormalizationTest.txt
has been found in majority of the platforms thanks to QFINDTESTDATA
flexibility. However it causes problems on sand-boxed platforms such
as WinRT.

Fixed by defining the relative path to NormalizationTest.txt in TESTDATA
so that qmake can find the file when processing INSTALLS variable.

Change-Id: Id9a28db2a00b17d2c0136e6ff32f421b21137898
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Liang Qi <liang.qi@digia.com>
BB select(): move special select method to qcore_unix_p.h

... and make it independent of QProcess, because we want to use it
from QtNetwork as well.
In addition, move select_msecs() to qcore_unix_p.h as well and rename
it to qt_select_msecs().

Task-number: QTBUG-36144

Change-Id: Ief681b6f6c80e85aa5091a5a04bcedb60f353217
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Make QtCriticalMsg exit on QT_FATAL_CRITICALS

Change-Id: I92e8f9851dd074f3bcded6981f5545d1e93b549f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
contextinfo example: Print the format() both for context and surface

And make the output a bit nicer.

Change-Id: I5f0f82374b6e9f9feca70a60c30967adb35d48ec
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
contextinfo: Make it more responsive and improve error handling

Change-Id: If05cd906edc8b7f1fd4744d8d0a392aeec46a454
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Windows: Change defaultNameFilterDisables() to return false.

As was done in Qt 4, where QFileDialog sets NameFilterDisables() to true
for Q_WS_MAC only.

Task-number: QTBUG-37302

Change-Id: I162f9e79762aa4fa68aba02d1bdfc6322d472a9d
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
XCB plugin: query screen resources without _current

xcb_randr_get_screen_resources() and xcb_randr_get_screen_resources_current()
do basically the same, but for one case: if nothing has queried these
information ever before. So if an application is the very first client ever
to connect to an X server it may just return nothing. A call to
xcb_randr_get_screen_info_reply() will then cause the X server to allocate the
needed information and send an update notification, resulting in a second
QXcbScreen being created, but the other one is still around and probably used.

The behavior I observed with a simple test application was that the application
was not visible on the screen when it was the first client ever on the X
server. Killing the application and starting it again made it work just fine.

Change-Id: Id64f267e8ebcfa5b39d21d98307170a09e5169df
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Repaint widgets on screen change.

Add a screenChanged handler slot to QWidgetWindow,
which calls markDirty() on the backing store with
the BufferInvalid and UpdateNow flags set.

Update CocoaBackingStore to create a new buffer on
window devicePixelRatio change. Use the
QCocoaWindow::devicePixelRatio() implementation instead
of a duplicate implementation in the backing store.

The plan is to replace this implementation with one
based on QUpdateWindowRequestEvent for Qt 5.4

Change-Id: I8e521c53df4ac90815613e730fe821996334721f
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Fix Direct2D clipping when Qt::WA_OpaquePaintEvent is true

Changed clip rectangle handling from bounding rect to region. Now also
sub region rectangles are taken in to account.

Task-number: QTBUG-37199
Change-Id: I9e09376e2c6d3fee8f85db753295a6138a03096f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Janne Koskinen <janne.p.koskinen@digia.com>
Reviewed-by: Louai Al-Khanji <louai.al-khanji@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
[XCB] Fix drag-and-drop segfault

QXcbDrag inherits QBasicDrag which takes care of calling
updateAction() when needed, we don't need to call it explicitly.

Task-number: QTBUG-33057

Change-Id: I754408f74f56de36ace8ffa40a61bd7c64619899
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Add compiler name for Clang in QLibraryInfo::build()

Change-Id: I88490f01edc00f5d3c9570fa630915a11c843311
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Add missing \since 5.0 to QProcess::{program,arguments}.

Change-Id: Ie2ce1860e1c63c0955b0a2bee7f8b33c91b9f628
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>