Commit Graph

5039 Commits (0d720a000f4f35c5ea6942426efec6847b06f4ce)

Author SHA1 Message Date
Laszlo Agocs 7592643407 eglfs: Fix static builds with kms backends
The logging category symbol clashed when linking applications with both
kms backends present.

This is no longer an issue in 5.7 where the symbol is in the shared kms
support lib, but for 5.6 we need to use a different symbol name.

Change-Id: I3c323109d6c498e044289455b3d31567a4d5928c
Reviewed-by: Ralf Nolden <nolden@kde.org>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2016-06-21 12:52:53 +00:00
Tor Arne Vestbø 1a7e577669 UIKit: Treat windows as exposed only during Qt::ApplicationStateActive
We previously treated Qt::ApplicationStateInactive as a valid state to
expose windows in, to prevent a visible flash of black screen at app
startup between iOS hiding the launch screen and Qt drawing it's first
frame, but this lag is no longer an issue, so we can apply the best
practice of only rendering during Qt::ApplicationStateActive. This may
prevent crashes during application suspension.

Task-number: QTBUG-52493
Change-Id: I271281ed6fb857e6849cdb88cc2d8251d1bba1df
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2016-06-21 12:52:44 +00:00
Thiago Macieira 3238b43597 Fix build on macOS: Apple changed their minds if null is allowed
qcorewlanengine.mm:88:37: error: null passed to a callee that requires a non-null argument [-Werror,-Wnonnull]
    currentInterface = [CWInterface interfaceWithName:nil];
                                    ^                 ~~~

Change-Id: Ie7d159a97176ca53161423cfcddba547e735d5b3
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-06-17 15:51:29 +00:00
Liang Qi 2a6961f188 eglfs_kms_egldevice: fix warnings about -Werror=maybe-uninitialized
src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldeviceintegration.cpp: In member function ‘bool QEglFSKmsEglDeviceIntegration::setup_kms()’:
src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldeviceintegration.cpp:391:28: error: ‘encoder’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
     m_drm_encoder = encoder;
                            ^
src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldeviceintegration.cpp:392:29: error: ‘connector’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
     m_drm_mode = connector->modes[0];
                             ^
cc1plus: all warnings being treated as errors

Change-Id: Ic444450d06a6dd8047bd6871febb08a4a3fde6f9
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-06-17 14:39:50 +00:00
Tor Arne Vestbø d2bffe0fc9 UIKit: Detect swapBuffers on non-exposed windows and skip flush
When using threaded rendering the render-thread might be half-way into
rendering a frame when the application is backgrounded, resulting in
the following swap happening on a non-exposed window. This may result
in the system killing the application, as rendering is not supposed to
happen when an application is backgrounded, so we skip the flush.

Change-Id: I9ab8f2c4617391fd827558af9fb473f1734b3688
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2016-06-17 13:18:33 +00:00
Tor Arne Vestbø 3e4f885f0c UIKit: Ensure that Qt's application state is initialized at startup
Using dispatch_async to deliver the initial application state at startup
was broken, as that would leave the application in the default application
state, inactive, until the next runloop pass. This became a problem when
an application was started backgrounded, eg. in response to location
updates or a Bluetooth accessory waking it up, as it would have a small
window of time at startup where it would think it was able to render
content (since the window was exposed), while in fact the application
was running in the background. iOS will in these situations kill the app
for doing background rendering.

Change-Id: I1ab4a6af08a154d8625c6451b4b5c8f4453e6b43
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2016-06-17 13:18:29 +00:00
Tor Arne Vestbø 655687d84d UIKit: Don't reallocate renderbuffer on QIOSContext::swapBuffers()
During device rotation, the backing CEAGLLayer of our custom UIView is
resized by the system. Normally this is the time where we would then
reconfigure the corresponding renderbuffer that we render to, which
shares memory with the CEAGLLayer, but we chose a lazy approach where
we'd defer the reconfigure until client code actually called makeCurrent.

This caused problems because not only did we implement the lazy reconfig
in makeCurrent, but in every QIOSContext function that operated on the
default FBO, including swapBuffers(). When using threaded rendering,
such as in Qt Quick, the render thread may be half way in rendering a
new frame when the system resizes the CEAGLLayer, and we pick up that
resize on the swapBuffer call and allocate a new renderbuffer, before
flushing the queued up GL commands that were operating on another
renderbuffer of a different size. This resulted in the following crash:

  0 - gpus_ReturnObjectErrorKillClient()
  1 - gpusSubmitDataBuffers()
  2 - glrFlushContextToken()
  3 - flush(__GLIContextRec*)()
  4 - QIOSContext::swapBuffers(QPlatformSurface*)
  ...

We solve this by still being lazy in how we reconfigure, but limit the
reconfigure to makeCurrent(). If the CEAGLLayer is resized in between
two frames, we skip the half-drawn frame. The old frame will then be
scaled to match the new size by the system, but this is preferable to
flushing a new frame that may have been drawn with two conflicting
window geometries.

Task-number: QTBUG-50017
Change-Id: Ie229f26d156dfbfc7ed8d9efd0eb5e992eee73f1
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2016-06-17 13:18:24 +00:00
Tor Arne Vestbø 0b6adbcd23 uikit: Deliver update requests via CADisplayLink callback
Improves performance over the default timer-implementation, and allows
us to control the rate and paused state of the display link.

Change-Id: I05761b6eb48f5e91af35735e2faa477427cd8440
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2016-06-17 13:18:11 +00:00
Oswald Buddenhagen fc1092cfad correctly link xcb-static lib
this apparently makes no difference except for not creating bogus .prl
files - presumably, the correct path is coming from somewhere else
already.

Change-Id: Ia3f3c44e506ba14b533ff097f05acecf1e86cfb3
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2016-06-17 12:23:33 +00:00
Alexander Volkov d53d77e66b TuioTouch: Report empty touch areas for the cursor
Currently TuioTouch plugin reports touch areas of size 1x1.
It's inconsistent with the platform plugins which report
empty touch areas when their size is unknown.

Change-Id: Iea8ad38a5712b666126780411380d963877b0229
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Ariel Molina R <ariel@edis.mx>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
2016-06-17 12:04:37 +00:00
Vyacheslav Koscheev 797cd4b7bc Android: Don't send tabletEvent when it's not supported
If QT_NO_TABLETEVENT defined, then there is no sense to create tablet
events.
Its better to create general touch events in this case.

Task-number: QTBUG-53887
Change-Id: I2fabc2241158d54d6c39a2f6071ab874f7debd39
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2016-06-16 14:08:27 +00:00
Tor Arne Vestbø 751143724a uikit: Call base class implementation of rotation callbacks
The Apple documentation explicitly says that you should call super
when implementing these methods.

Change-Id: I584bb140a4a5bde88927b379ab19158a78c6fea9
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2016-06-10 06:09:14 +00:00
Błażej Szczygieł 4762fabce1 xcb: Fix transient parent and "Qt::Window" flag
Don't set transient parent property when Qt::Window flag is set.
Delete transient parent property if a window doesn't have a transient parent.
Force setting standard window flags for Qt::Window only if there are no other
flags.

Amends 98c10a02c5

Task-number: QTBUG-52550
Change-Id: I68ee715b632487e9dd0e7ffbbfc0c2cdd0f0e151
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2016-06-08 19:04:01 +00:00
Laszlo Agocs 76810e1495 xcb: Disable GLX pbuffers with Chromium in VMs
Change-Id: I474e4a4ce424a92b46381eb26aeda811ed059819
Task-number: QTCREATORBUG-16252
Task-number: QTCREATORBUG-14937
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2016-06-08 04:22:57 +00:00
Gabriel de Dietrich cf19b06f22 Cocoa QPA: Mute mouse dragging warnings
While probably valid, these warnings are beyond the
user's control, and more likely a sign of Qt's own
expectations or misbehavior. So, we should not annoy
the users with them.

This change introduces the same logging category as
3ee01f7403 in 5.7 as is a partial backport to
simplify a subsequent 5.6 to 5.7 merge.

Change-Id: Ica2e3b1c5bc372923fd823b5d7d537d319835685
Task-number: QTBUG-42846
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-06-04 18:39:33 +00:00
Maurice Kalinowski 9c01fdb2ba winrt: Fix compilation for 10586 SDK
The current implementation of drag and drop requires Redstone 2 Update
(SDK version 14322) to be fully functional. The API is limited for
previous versions.

However, this mostly affects passing allowed operations between sender
and receiver, the rest is mostly functional still.

Once RedStone 2 is out (estimated July 2016) we can bump the minimum SDK
version to 14322.

Task-number: QTBUG-50827
Change-Id: I5bab9d36a228d68c1809c241a64168d48c353335
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2016-06-04 13:37:03 +00:00
BogDan Vatra 492cfe7002 Android: remove unused plugins
These plugins can't be used on Android, but they are built, installed
and also bundled into every .apk file.

Change-Id: I3326c913282af5bd43e1c732de9ae2f255711414
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
2016-06-03 09:47:09 +00:00
Liang Qi 688f70634c Merge remote-tracking branch 'origin/5.6.1' into 5.6
This merge also blacklists a flaky tst_QGL::clipTest test on
OpenSUSE 13.1.

Conflicts:
	src/network/socket/qnativesocketengine_winrt.cpp
	tests/auto/opengl/qgl/BLACKLIST

Task-number: QTBUG-53133
Change-Id: I14b431aa5a189b7dd1d3e2dfff767d15df20fde3
2016-06-02 06:01:25 +02:00
Jake Petroules a160bd4fcc Fix bugs causing Thin font weights to be ignored or mishandled.
Task-number: QTBUG-53196
Change-Id: If12b3cab3d8de5e0e452fca844b0a484c29e9e86
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2016-06-01 02:29:51 +00:00
Maurice Kalinowski bb30da895e winrt: fix compilation without drag and drop support
Change-Id: Ifd0d2238e8dacffe34753d95e12cccfd13519c55
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2016-05-31 11:54:08 +00:00
Maurice Kalinowski e8ff3c8cbc winrt: fix drag pixmap support
Previously dragging only displayed the type of operation provided by the
system. Now, in case a pixmap is specified, an image is shown.

Also incorporated some cleanups.

Task-number: QTBUG-50827
Change-Id: I471e2081eabfed014b08d189538d1d62cdb7248e
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2016-05-31 11:54:03 +00:00
Maurice Kalinowski 94f319a2bb winrt: enable drag support
Allow applications to initiate drag operations.

Task-number: QTBUG-50827
Change-Id: I3c29b54756af1af24544f49803305f0c95d8b7f9
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2016-05-31 11:53:59 +00:00
Maurice Kalinowski 0ff45fbf1b winrt: Enable drop support
Allow Qt applications to receive drops. Dragging is not supported yet
and will be handled in a separate commit.

Task-number: QTBUG-50827
Change-Id: I684e3d5685ce73f74805691f6ac7bbc45e2d19ec
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2016-05-31 11:53:46 +00:00
Thiago Macieira fae8ee8b42 Update the high scaling settings after an XCB screen is added
Without this, the newly-added screen will still have the
scaleFactorProperty unset, which means QScreen::devicePixelRatio will
return 1.0. That differs from what happens if the screen had been
detected when the application started.

This is part of the fix for the bug report, but insufficient.

Task-number: QTBUG-53500
Change-Id: Id3aab65533904562a6cbfffd14502365d86bd36d
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2016-05-30 00:28:51 +00:00
Thiago Macieira 16864c42d6 Fix linking of the minimal platform plugin on OS X
platformsupport/fontdatabases/fontdatabases.pri disables all font
databases except CoreText on OS X, so this is required for
linking. Otherwise, we get undefined reference linker errors:

Undefined symbols for architecture x86_64:
  "vtable for QBasicFontDatabase", referenced from:
      QMinimalIntegration::fontDatabase() const in
  qminimalintegration.o

Change-Id: I31298e973803b4d6eedbf61607056114d1556584
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-05-29 18:49:04 +00:00
Richard Moe Gustavsen 0e70d35f15 iOS: Return correct QLocale from QIOSInputContext
Ensure we return a correct QLocale on iOS by overriding
QPlatformInputContext::locale().

A broader implementation involving subclassing QSystemLocale
will be done in dev.

Task-number: QTBUG-48772
Change-Id: I5250bdad320cbe66d63456926f6eab6fc2865424
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2016-05-27 11:20:56 +00:00
Ralf Nolden 11353ea6a5 Compile fix: C++11 usage: Replace nullptr with Q_NULLPTR
Another compile fix when compiling qt with -stdc++ c++98 option. Replace
nullptr with Q_NULLPTR.

Change-Id: I7765905031fa91250dbbcc9768b9e8b109e7594d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-05-25 17:29:21 +00:00
Timur Pocheptsov f75b78a92a Cocoa integration - fix QCocoaWindow::setContentView
- QCocoaWindow::setContentView calls -removeFromSuperView
and this is not valid for a view that is a content view for a NSWindow:
using it will release the view but not clear the window.contentView pointer.
Set contentView to nil instead.

Fixing this makes visible the second problem:

- QNSWindowHelper in its -handleWindowEvent: can access content view and assumes
it's QNSView - it is not always guaranteed and can result in invalid message
sent to a view, we can use m_qtView instead (it will be nil if it
has a type different from QNSView, the call will be noop then).

Task-number: QTBUG-53325
Change-Id: I0472eba8165a04b6a3f81b2171b3bb9827ff5681
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2016-05-25 12:55:58 +00:00
Andy Shaw 84ab88ce41 QWindowsPrintDevice: Handle return value of DocumentProperties correctly
If the return value is less than 0 which signifies an error then trying
to malloc that will cause an exception.

Change-Id: Ia0153d4cb7aac1dacb509280b45be149a093b7c4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-05-25 09:56:48 +00:00
Friedemann Kleint c96ddd9ee5 QWindowsTheme: Suppress error dialogs when calling SHGetFileInfo().
Set the error mode flag SEM_NOOPENFILEERRORBOX when calling Win32 API
SHGetFileInfo() to prevent it from prompting to insert media
as does QStorageInfoPrivate::mountedVolumes().

Task-number: QTBUG-32457
Task-number: QTBUG-48823
Change-Id: I01a2f99b5a75b39dd729509ca319f634e3dcd695
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2016-05-24 17:32:44 +00:00
Richard Moe Gustavsen 17a4384d12 iOS: ensure we don't break UIKit IM state when sending key events
We need to be careful about calling textDidChange on the input
delegate, since that will reset the internal IM state in UIKit
and stop any ongoing text composition or spell checking.

For that reason we set m_inSendEventToFocusObject to true whenever
we send an IM event to Qt, to not call the abovementioned method when
callbacks from UIKit is the reason for changing the text.

But until now we never applied the same protection for key events.
This lead to ligatures not working correctly (e.g when using Korean
IM), since UIKit composes ligatures by first selecting the characters
that can be truncated, then do a deleteBackwards, then insert the ligature.
And deleteBackwards leads us to send backspace key events, which
ends up in a textDidChange call, which confuses UIKit.

This patch will ensure we don't call textDidChange as a result of
sending key events.

Task-number: QTBUG-52486
Change-Id: Ida268edae517f55a5b5f975340a5d3821f7b8f52
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2016-05-24 12:32:22 +00:00
Gabriel de Dietrich b092f681cf QNSView: Reset the internal buttons state after dragging ends
We only track left and right mouse buttons when dragging. But
some applications may do this with other mouse buttons.

In this case, instead of tracking which button was pressed and
which one was released, we just ask Cocoa for the current state.

Change-Id: I0df7799b7ae6d7816377f881bc0ede867737d245
Task-number: QTBUG-53374
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-05-24 06:13:11 +00:00
Laszlo Agocs bdb1c18e41 windows: Fall back to D3D9 when 11 fails
It is assumed that this happens automatically but that is not always the
case. Do not become stuck with a non-functional D3D11-backed EGL environment.
Instead, try again as if QT_ANGLE_PLATFORM=d3d9 was requested.

Task-number: QTBUG-52056
Change-Id: I12ac6ca5f1d06f9504d05120d8e1053e97edfab3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-05-23 12:37:23 +00:00
Gabriel de Dietrich 9e3e987590 QNSView: Pass on the responder chain if deletion is pending
Change-Id: I7d098b61f6feb2ac38582c0efb1bbdf25a83e967
Task-number: QTBUG-53398
Reviewed-by: René J.V. Bertin <rjvbertin@gmail.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2016-05-20 06:09:06 +00:00
Friedemann Kleint 6086c81e4d Windows QPA: Improve workaround for non-Areo theme GL rendering.
Reportedly, clearing the clip region is sufficient to fix the issue.
InvalidateRect() should be avoided when handling WM_PAINT as it
may cause events.

Task-number: QTBUG-7865
Change-Id: Id9a7c280fcc2c8242bb34c34e73e53c3146e7a6e
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-05-19 10:55:54 +00:00
Liang Qi 640441882d Merge remote-tracking branch 'origin/5.6.1' into 5.6
Conflicts:
	src/network/socket/qnativesocketengine_winrt.cpp

Change-Id: I8edb72f8ba958d80c3d7993b3feaaae782ca8d9c
2016-05-19 06:31:06 +02:00
Urs Fleisch f162e29acc xcb: Fix dropping URL on Firefox window.
When a URL is dropped on a Firefox window, the "text/x-moz-url" data
takes precedence over the "text/uri-list". The "text/x-moz-url" is
interpreted as UTF16, however, the data from Qt 5 applications is not
in the correct format. The code to create correct UTF16 data exists,
but it is not called for two reasons: The atomName will never be
"text/x-moz-url" because it is changed to "text/uri-list" by
mimeAtomToString() and the InternalMimeData::hasFormatHelper() case is
already handled above and the else part will never be considered.
This patch fixes the check and brings it into the right order.

Task-number: QTBUG-49947
Change-Id: I5ebd31914cc6c1417c513c1ff09e0e858a16915d
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-05-18 18:20:11 +00:00
Urs Fleisch 1108291e1a xcb: Fix drop of text/uri-list and text/html.
When dropping URLs from Firefox or Chrome, the contents are encoded as
UTF16, but not correctly decoded. Moreover, the special handling of
"text/x-moz-url" drops does not work because this format is converted to
"text/uri-list" before. This fixes the handling for URL list and also
for UTF16 "text/html".

Task-number: QTBUG-47981
Change-Id: I1153f21ede07b2bfe4d104e0fe8bc8487ec5c165
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-05-18 18:20:09 +00:00
Laszlo Agocs 6e401ebc47 egl: Reshuffle headers to help less fortunate systems with X11
EGL headers including X headers has traditionally been problematic due
to getting macros for Status, None, etc.

In most cases this is not an issue anymore because on embedded one will
almost always use a driver targeting the framebuffer or DRM/KMS and
therefore the EGL headers do not pull in X dependencies.

Furthermore, Mesa supports MESA_EGL_NO_X11_HEADERS which we set, avoiding
the problem altogether with Mesa regardless of targeting X11 or KMS.

However, other drivers do not have this option. On i.MX6 for instance,
targeting X11 is problematic due to not having EGL_API_FB defined, which
in turn means the EGL headers pulls in X headers in order to be able to
define the native display and window types as Display and Window.

Try to play nice with this use case by reshuffling the includes and
undefining the problematic names.

This restores patch set 2 from the previously merged, and then reverted
commit. This here is safe since the egl.h include and the following undefs
are only done internally for eglfs and can have therefore no effect on
other code.

Task-number: QTBUG-52928
Change-Id: I383e783d5064dc8fb41f3ef56d2a4f4fcd31a6cf
Reviewed-by: Louai Al-Khanji <louai.al-khanji@qt.io>
2016-05-17 16:13:42 +00:00
Andy Shaw 6e928460bc Use QPlatformTheme for the context to translate the color dialog buttons
QDialogButtonBox does not have translations, it queries
QPlatformTheme for button texts. So in order to ensure
that the buttons added to QColorDialog natively are
translated it should be set to use QPlatformTheme instead.

Change-Id: I67d0e509398aa81f9de9b8785544c1e23bb596d9
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-05-16 20:16:05 +00:00
Eirik Aavitsland 5316befba2 ICO image format: fix regression in writing when size >= 256
In commit c6c9304, the earlier size limit of 128 was raised to the
format's defined maximum of 256. But the required special storage of
this size in the image structures was not implemented. Hence,
attempting to store such big icons would result in invalid image
files.

Fix the size storing details, and add some autotests of ico format
writing since that was practically uncovered.

Task-number: QTBUG-53259
Change-Id: I00e17a04e90c32dcf1124ba5adaf53728fb74dc7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-05-13 04:37:15 +00:00
Thiago Macieira 29ac941c1e Bearer: replace the use of QMutexPool in the Windows plugin
Use a simple Q_GLOBAL_STATIC

Change-Id: Ifea6e497f11a461db432ffff1449b14b63628c12
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-05-12 18:31:17 +00:00
Oliver Wolff 864380639b ANGLE: fall back to warp mode in case of standard VGA driver
The combination of vendor and device ID being 0000 indicates, that the
standard VGA driver is used, and happens when using Qt in a:
  - Windows 7 machine without proper GPU drivers
  - Windows 7 machine with disabled GPU
  - HyperV vm

The default driver does neither support D3D9 nor D3D11 properly so that
we have to fall back to warp mode for ANGLE.

Change-Id: Ia766e32d680c910a50ec3d6b5002892cdb90fdbb
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2016-05-12 12:15:34 +00:00
Oswald Buddenhagen adf85c09b4 Merge 5.6 into 5.6.1
Change-Id: I22003b840f1a7ac685a1ec3353d7e7dbd84c3953
2016-05-12 11:17:23 +02:00
Alexander Volkov 46f1c4c86b xcb: Properly interpret data.l[0] field of XdndStatus message
The standard https://freedesktop.org/wiki/Specifications/XDND/
states: "In order for the proxy window to behave correctly, the
appropriate field of the client messages, window or data.l[0],
must contain the ID of the window in which the mouse is located,
not the proxy window that is receiving the messages."

So compare it with the current target window instead of the
current proxy window.

Change-Id: Ie31fd3aeadebcf5a9be7b9a9194f35a4ec7bdebb
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-05-12 05:45:23 +00:00
Laszlo Agocs c46f74d325 eglfs: Support dynamic mouse cursor show/hide with DRM HW cursor
Task-number: QTBUG-52743
Change-Id: I0bea1451dfe7b049c129b11716d593115e3d8374
Reviewed-by: Louai Al-Khanji <louai.al-khanji@qt.io>
2016-05-11 12:36:38 +00:00
Timur Pocheptsov ab3a8443fa QCocoaWindow - do not call resignKeyWindow
QCocoaWindow::setMouseGrabEnabled/setKeyboardGrabEnabled calls
resignKeyWindow. According to Apple's docs, we should _never_ call
this function (it's done by Cocoa automatically).
Calling this function leaves a window in weird state where it can
not become key again until you explicitly make another window key first.

Task-number: QTBUG-53050
Change-Id: I7a887659df8df11880328ffa2adc07c4a3af63e6
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2016-05-10 19:06:58 +00:00
Maurice Kalinowski dbd81a0b9f winrt: Fix potential startup crash
Depending on the windowstate passed to QWinRTWindow constructor we might
act on the uiElement which has not been created yet. This happened
especially in release mode, probably due to timing.

Hence delay uiElement changes until we created it in the constructor and
can ensure it is valid.

Change-Id: I00daa9fcf8542a0535bbcb663a76d85c36e510e2
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2016-05-10 17:11:03 +00:00
Timur Pocheptsov 4e0b76d810 Cocoa integration - avoid dangling menuitem pointer
Since QCocoaMenu can live longer than its m_attachedItem pointer,
this pointer is becoming invalid after QCocoaMenuItem deleted
(and its 'm_native' was released).

Task-number: QTBUG-53251
Change-Id: I6d97b75b2c09e2443cd21415c5db94206d5d89ce
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2016-05-10 10:36:30 +00:00
Błażej Szczygieł d6cbf9efb7 xcb: Properly unset mousePressWindow()
In some cases the mouse release event won't arrive, i.e. when window is
minimized on button press. Check for mouse buttons state on mouse move
event and properly unset the mousePressWindow to avoid blocking
enter/leave events in this case.

Amends: c511466d74

Change-Id: I543a75104f528df1bf644bace13f78a6af017455
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-05-09 21:46:29 +00:00