EGL convenience: Guard Linux-specific code with Q_OS_LINUX.

Instead of "blacklisting" Unix platforms that don't have Linux headers,
do the opposite and check for Q_OS_LINUX in the framebuffer code that
has Linux-specific code.

This should help fix the build on other Unices, such as the BSDs.

Change-Id: Icb6edf34bb20c9a98843b6dc0e2a87ee71fcd046
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
QOpenGLTextureBlitter

private api, but useful for 2d gui code that suddenly finds itself
needing to get a set of textures onto some fbo

I didn't want to include ARB_copy_image since it looks like its from
texture/renderbuffer -> texture/renderbuffer while this class implies
texture -> write fbo. We could wrap ARB_copy_image in QOpenGLTexture or
some other class or we can add it later.

I have not added any QOpenGLTexture functions since this class opperates
on the GLuint identifier. We can add overloads later.

Change-Id: I3e565b33466c1c183a249a33c3e82c6786debd55
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
WinRT: Fix use of std::thread in QThread

Don't delete the thread object without detaching it, use detach()
instead of CloseHandle(), and avoid a double-delete.

Change-Id: Ia169a96fb32805e06abe099c3c35e97ce485f088
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Export optimized premultiply and unpremultiply methods

This patch optimizes the unpremultiply method further by using a
lookup table to avoid any divisions at all.

The opportunity is taken to export both premultiply and unpremultiply
since they are commonly used methods relevant to the exported QRgb type
that can be both premultiplied and unpremultipled ARGB.

[ChangeLog][QtGui][QColor] Exported highly optimized methods for
premultiply and unpremultiply of QRgb values.

Change-Id: I658bcf57b0bc73c34c1765b64617d43b63ae820b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Cocoa: Neuter -[QNSView cancelOperation:] for normal windows

QNSWindow inherits QNSPanel regardless of the kind of QWindow. With
NSPanels, pressing escape is equivalent to dismissing the panel.
That is not the behavior we aim at for normal toplevel QWindows.

Task-number: QTBUG-36694
Change-Id: I1a1c138183cc43c968249442021f334cd37f7ce0
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Cocoa: Add setNSToolbar(QWindow *, NSToolBar *)

Calling this function associates the given native
toolbar with the QWindow. QWindow will then set
it on the native NSWindow at the appropriate time
during window creation.

Change-Id: I2a50f79b2a0453cc739f8d68e965e37b95998083
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Print qCDebugs in arbitrary categories by default

The debug output of all categories will be visible by default,
except from the "qt.*" categories. "qt.*" categories are private
and their default debug output will be hidden.

[ChangeLog][QtCore][Logging] Enable qCDebug's for all categories except qt one's

Change-Id: Ibe147c8bbe0835a63b3de782288b9c3251321d8f
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Windows: Fix return value of WM_QUERYENDSESSION.

LRESULT should be non-zero if the application can quit,
and it is always handled.

Task-number: QTBUG-35986

Change-Id: Ic8b0ecc731d3efaf94e2a62491918d379fe59f5c
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Fix compilation when including files created in shadow dirs

For normal #includes, moc simply ignores the missing file, but it could
generate problems later. It's a problem when the file being sought is
the FILE from plugin metadata. A very good example of this is Qt
Creator:

coreplugin.h:49: Error: Plugin Metadata file "Core.json" does not exist.

Change-Id: I16af04b477f52c6bd53c14147ec777b358dfdf50
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Fix build with QT_NO_GRAPHICSVIEW

Change-Id: I81cfed124a2e9e1c46c966c4819e89df5abd4f74
Fix build with QT_NO_GRAPHICSEFFECT

Change-Id: Iadc78c270f541067dbbebcf77748077cc3a8be13
OSX: Fix build with QT_NO_OPENGL

Change-Id: I7ed8117ae05ba0eebaf85731c7fdd2bb51d6ed04