summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Revert "macOS: disable threaded OpenGL (unconditionally)"Eskil Abrahamsen Blomfeldt2019-05-141-7/+5
| | | | | | | | | | | | | | | | | This reverts commit fc3e8514144535db22c431251bc0feea99cf72e2. The patch introduces a crash in Qt Quick in the test tst_QQuickWindow::multipleWindows() on macOS 10.12. Reverting this will cause dead locks on older macOS versions for users who opt in to using layer backed mode, so we should bring this back as soon as a fix can be found for the crash. But in order to proceed with qt5.git integration, we revert it for now. Task-number: QTBUG-75782 Change-Id: I57f6b2918c3fc4b4e58a8c39b24a19e2d796a4f4 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* wasm: rewrite/simplify OpenglContextMorten Johan Sørvig2019-05-142-35/+30
| | | | | | | | | | | | | | | | | | We don’t need the contextLost callback since we can poll for the “lost” status in isValid() Recreating the native context is not very helpful, since it destroys all current context state. Remove this logic. Support makeCurrent() on different surfaces, as long as they refer to the same screen. Create the native context (and record which screen) on the first call to makeCurrent() Task-number: QTBUG-75463 Change-Id: I6eb830df14578ffdbed5b0505fe860ce433e4f9b Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: controlled screen destructionMorten Johan Sørvig2019-05-149-3/+51
| | | | | | | | | | | | | Freeing OpenGL resources requires a current context, which (on wasm) requires a screen. Add a destroy() functions to QWasmScreen, QWasmCompositor, QWasmWindow, and QWasmBackingStore which facilitates OpenGL cleanup before we start deleting screen objects. Task-number: QTBUG-75463 Change-Id: I9954b536416b9147965c74459ccad838d1578778 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: add QWasmOffscreenSurfaceMorten Johan Sørvig2019-05-145-2/+101
| | | | | | | | | | | | | | This no-op implementation is sufficient to support OpenGL cleanup use cases, where the OpenGL context needs to be made current at times where we don't have a window available. A specific requirement on WebAssembly is that the context is tied to one specific screen; which is an extra requirement on QWasmOffscreenSurface, compared to the other platforms. Task-number: QTBUG-75463 Change-Id: Ie3658cb235bf342be66f19dfe981e3a56a90e1b6 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: use correct coordinates when blittingMorten Johan Sørvig2019-05-141-2/+3
| | | | | | | | | The target position is the position on the canvas, not the global position on the page. Task-number: QTBUG-75463 Change-Id: I4ea2c9afacd2065fa975f6fa2e6a93d98f637854 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: prevent crash on null backingstore pointerMorten Johan Sørvig2019-05-141-0/+2
| | | | | | | | | We can get draw calls in between creating the platform window and the platform backing store. Task-number: QTBUG-75463 Change-Id: If0b67d40fac84e466f204ec23a267aa4c6121cbd Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: install one browser window resize handlerMorten Johan Sørvig2019-05-144-20/+23
| | | | | | | | | | Install one browser window resize handler instead of per-canvas resize handlers, which avoids having to uninstall on QScreen destruction. Task-number: QTBUG-75463 Change-Id: I8345262a906ed735f8e9e146f1e963f515cf0d25 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* macOS: disable threaded OpenGL (unconditionally)Morten Johan Sørvig2019-05-081-5/+7
| | | | | | | | | | | We can’t determine when the app will use layer-backed views without having access to the QWindow and NSView instance, so make the conservative choice of always returning false for ThreadedOpenGL. Task-number: QTBUG-74820 Change-Id: If2779b17eead78ce1929ccebc3bd8fc0eb00c4b5 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* wasm: remove qDebugMorten Johan Sørvig2019-05-071-2/+0
| | | | | Change-Id: Ic9812421b2a79a33bb138f448fe132dab141b724 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: add fixedPitch fontLorn Potter2019-05-075-3/+27
| | | | | | | | Also define our default font so as to return something we actually have Task-number: QTBUG-75587 Change-Id: I26e3c62921d369c3017af9796c0a20f7ac06d07c Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* xcb: make beep workKarim Pinter2019-05-061-0/+1
| | | | | | | | | Adding xcb_flush after xcb_bell makes it work, no need to move the mouse. Fixes: QTBUG-75617 Change-Id: Ieeb47468bf31cfa6fcf2d48da56d54b9e6eac6fe Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* wasm: fix passing environmental variablesLorn Potter2019-05-061-1/+1
| | | | | | Task-number: QTBUG-75530 Change-Id: Ic0f0bd8ce863f55d737d96bbf9e5473466381c9b Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-05-063-5/+43
|\ | | | | | | Change-Id: Iaad9509712c848ed42ada2c25065162a6fc5a930
| * Fix dnd regression c427ba53aa0ee1a71aa670783f65bcfd230da653Mikhail Svetkin2019-05-051-0/+19
| | | | | | | | | | | | | | | | | | | | | | Qt starts drag-and-drop on a mouse button press event. Cococa in this case won't send the matching release event, so we have to synthesize it here. Task-number: QTBUG-72417 Change-Id: I645b6a2733c1ea11ac4545cf3405f826af45fa47 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * fix compilation with various -no-feature-* optionsNick Shaforostov2019-05-051-1/+2
| | | | | | | | | | Change-Id: Ic1975db497613e3efe50be4246c167efe10d8e31 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| * Android: Fix deleting of new lines when using backspaceAndy Shaw2019-05-031-4/+22
| | | | | | | | | | | | | | | | | | | | | | | | With some keyboards (ASOP, SwiftKey) it was not deleting any new lines when using backspace. So this ensures that it is correctly deleting at these points. Tested with the Samsung, Gboard and SwiftKey keyboards. Fixes: QTBUG-74824 Fixes: QTBUG-57798 Change-Id: Id2e4f96c18c3fec0e7f444b55dd3db2653625fd0 Done-with: Vova Mshanetskiy <vovams163@gmail.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | wasm: use requestActive instead of activateLorn Potter2019-05-021-5/+2
| | | | | | | | | | | | Task-number: QTBUG-74868 Change-Id: Ibbbac1ece66c8978440a282bf6949a82fb64d216 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-281-10/+12
|\| | | | | | | Change-Id: Ibce9bfef928ce39070183c488ce86ae32e5ea705
| * Windows QPA: Fix blank Cursor on secondary displaySimeon Kuran2019-04-271-10/+12
| | | | | | | | | | | | | | | | | | CreateCursor only works with standard sizes (32, ...) depending on the display hardware. No longer apply the scale factor for the blank cursor, because it might lead to unsupported cursor sizes resulting in random pixels. Change-Id: I48d84bd913d2dd8f62129126c9a41e58ee2cbcae Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | platforminputcontexts: future-proof compose pluginGatis Paeglis2019-04-261-1/+9
| | | | | | | | | | | | | | | | | | | | If this plugin is loaded at some later point during application run-time, the focus object might be nullptr. We can avoid that by using qApp->focusObject(), when m_focusObject==nullptr; Task-number: QTBUG-74465 Change-Id: I0d82410ed557ea1a8fde28a1807f790854951cda Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-262-10/+53
|\| | | | | | | Change-Id: I6ecf7074eda57ef4954fb3fdc7a6d1e8cd229340
| * QMacStyle - set the proper appearance if neededTimur Pocheptsov2019-04-251-0/+39
| | | | | | | | | | | | | | | | | | | | Otherwise, AppKit, while rendering 'detached' (not in any view hierarchy) controls and cells will use NSAppearance.currentAppearance, which is not guaranteed to be the same as NSApplication.effectiveAppearance. Task-number: QTBUG-74515 Change-Id: I82dcebf2230932ecfcbf33c422a3b7bd0aed61d7 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * Fix artifacts when reading certain 32 bit ico filesEirik Aavitsland2019-04-251-10/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Images in an ico file contains transparency information stored as a 1 bit mask. However, when the depth is 32 bit, it means there is an alpha channel present, and the mask should be ignored. The Qt ico handler failed to do that. This has gone unnoticed, since the mask in such images is typically set to all 0s, and so makes no difference to the result. But ico files exist that contain junk mask data, so fix the reader to ignore it properly. Fixes: QTBUG-75214 Change-Id: I1b4456d71689ec783076a582f2fb215e7dc56e62 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | wasm: don't propagate touchLorn Potter2019-04-241-1/+1
| | | | | | | | | | | | Task-number: QTBUG-75263 Change-Id: I099f76114f876b3d6d81df3efb94db126db6a806 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-2411-30/+90
|\| | | | | | | Change-Id: I26da00aa71b0f0b91c9bfb4a9e8550345ee62875
| * macOS: Gracefully handle devicePixelRatio mismatch in QCALayerBackingStoreTor Arne Vestbø2019-04-192-3/+21
| | | | | | | | | | | | | | | | | | | | | | | | If the client of the backingstore fails to pick up dpr changes, and tries to flush the backingstore without a repaint, we will end up flushing a back-buffer with a stale dpr. Detect when this happens, warn the user, and smooth out the situation by adjusting the layer accordingly. Change-Id: If4596a8976a3902252c81d8e28c7aeb9fdd908bf Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| * Windows QPA: fix media keys losing autorepeat/keycode informationAndre de la Rocha2019-04-181-12/+8
| | | | | | | | | | | | | | | | | | | | | | For WM_APPCOMMAND messages that also trigger WM_KEYDOWN/WM_KEYUP, let the latter messages be handled, instead of stripping them and synthesizing a press/release from the command code, in order to get the correct scan codes and autorepeat info. Fixes: QTBUG-73879 Change-Id: I936cd76be87a76dc6b6223eeb246e4e7aee3a4ac Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Merge remote-tracking branch 'origin/5.12.3' into 5.12Qt Forward Merge Bot2019-04-171-8/+27
| |\ | | | | | | | | | Change-Id: I2816cb8a3cbc4a2cf5ca5f333a1fddc245b3c06a
| | * Fix QTabletEvent::uniqueId() when Qt uses WinInkv5.12.3Dmitry Kazakov2019-04-091-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A new 'pointerId' is assigned to the stylus every time it enters tablet's proximity. But applications expect this ID be constant, at least during one application run. Therefore, it needs to use 'sourceDevice' instead. Basically, WinInk doesn't have an ability to distinguich two different styluses connected to the same tablet. We cannot do anything about it, it is supported only in WinTab. Task-number: QTBUG-74700 Change-Id: I8328f1e5102b037b370082e69e965ab68b487882 Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
| | * Windows QPA: Fix mouse button reported in non-client eventsAndre de la Rocha2019-04-081-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current mouse buttons state was being retrieved from WPARAM for all mouse messages. However, for non-client messages this parameter contains unrelated information, which resulted in non-client events reporting incorrect button state. Changing it to retrieve state using GetAsyncKeyState() for non-client messages, like in the legacy mouse handler implementation. Fixes: QTBUG-74649 Change-Id: Ia246164208707072e584dd521697e9d31d3e65ad Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * | Windows QPA: Fix custom drop formats being ignoredAndre de la Rocha2019-04-161-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes QWindowsDropDataObject to only ignore non-CF_HDROP formats when the drop contains only "text/uri-list" mime data, and the URIs are for local files, to avoid messing with custom formats set by the developer, while still fixing the case reported in QTBUG-62662. Fixes: QTBUG-74232 Change-Id: I946ced222377716876d0aea54b3eb05d40e7fa44 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * | Fix setting Qt::WA_ShowWithoutActivating on eglfs windowMichal Klocek2019-04-161-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WebEngine HTML based popups depends on setting Qt::WA_ShowWithoutActivating, to keep forwarding events to chromium event handling. This works well with xcb, windows or coca windows backends, however was not respected on eglfs. Add check before activating the window. Task-number: QTBUG-69533 Change-Id: I66b249ec497af890c8a2228eee3bac3c806e77ed Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * | Fix threaded QOpenGL when robustness is requestedAllan Sandfeld Jensen2019-04-161-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | If the shared context had robustness set then all child contexts must as well, otherwise we will fallback to a non-shared context breaking threaded rendering. Change-Id: Ie5526e632ad21289b6164c1ca06e54ec714187c7 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * | eglfs: Call destroy() from dtors of concrete windowsUlf Hermann2019-04-164-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling destroy from the QEglFSWindow dtor() triggers the virtual invalidateSurface() to be called on a partly destroyed object. As the child windows deregister themselves from their screens on invalidateSurface() this is dangerous: It leaves a dangling pointer in the screen. Fixes: QTBUG-75075 Change-Id: Idd3fea18562d41973f364340df875a50dbd5691e Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-04-167-73/+47
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qlocale.qdoc tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp Done-with: Edward Welbourne <edward.welbourne@qt.io> Done-with: Volker Hilsheimer <volker.hilsheimer@qt.io> Change-Id: I88e0757b2d020f0a244714c87844631df4b3fd13
| * | Windows QPA: Fix QComboBox accessibility with screen readersAndre de la Rocha2019-04-123-2/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Screen readers like NVDA and Narrator were not reading the contents of a QComboBox when changing its value using the keyboard, without expanding it, due to missing UI Automation notifications in this case. This change should also help in other cases where updated string values were not notified to screen readers. Fixes: QTBUG-75066 Change-Id: Id7f488380aec5ad27fd11b3cf854d44ab1b28688 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * | Generic bearer engine - do not ignore WLAN interfaces (Windows)Timur Pocheptsov2019-04-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous code and comments refer to the "separate engine" and skip such interfaces. Given we explicitly disabled this "separate engine", skipping the interfaces is a bit cruel. Task-number: QTBUG-65593 Change-Id: Ie9dce1661bd697f22044ca6fb4a5e2485ef74253 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
| * | Revert "QMacStyle - workaround NSButtonCell (disclose button type)"Timur Pocheptsov2019-04-111-69/+2
| | | | | | | | | | | | | | | | | | | | | This reverts commit a868942b11a586861e167aaafaa9c65fde23e88d. We know how to fix it properly. Change-Id: I9180aeca82f884333d53bab9c6d588ee3a23d3cb Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * | macOS: set layer.delegate when setting a layerMorten Johan Sørvig2019-04-101-0/+1
| | | | | | | | | | | | | | | | | | | | | Fixes flicker with Qt 5.12.2 on macOS 10.14.4. Change-Id: Ibb866d4339ecafae5fb573a653a2fb0f6238d704 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * | Windows QPA: Fix Drag and Drop of images onto MS PowerPointFriedemann Kleint2019-04-091-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | Use the PNG format only for transparent images. Fixes: QTBUG-64322 Change-Id: I5e02132ca446876e20fcf46f2ef8daa599e85e71 Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.12' into 5.13" into ↵Liang Qi2019-04-101-12/+27
|\ \ \ | | | | | | | | | | | | refs/staging/5.13
| * | | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-101-12/+27
| |\| | | | | | | | | | | | | | Change-Id: I44eda44bf424fdcffab048a2534905d6162e5559
| | * | Windows QPA/File dialog: Pass up http[s] URLsFriedemann Kleint2019-04-081-12/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The native Windows allows for typing in http[s] URLs directly (without checking existence). Pass these up. Fixes: QTBUG-71785 Change-Id: I60237bab596ca3f52e6f513f17544ff94e9080da Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | | eglfs_viv_wl: Clean up the wl_displayJohan Klokkhammer Helsing2019-04-102-0/+6
|/ / / | | | | | | | | | | | | | | | Task-number: QTBUG-74879 Change-Id: Idb39a39a10bccb1822bdb80343fbe1b5c92560e9 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-061-25/+63
|\| | | | | | | | | | | Change-Id: Iec860bb703f983b7438e67c695b9c454e72b3e0f
| * | Windows QPA/File dialog: Refactor code copying non-file shell itemsFriedemann Kleint2019-04-051-25/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the canCopy() check which is not required and pass up the error message. Remove special characters and use the base name of the display name which can be an URL. Task-number: QTBUG-71785 Change-Id: I22966cb8d1f5bca0bbca71cf3ebe66e4ede1a747 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-051-1/+3
|\| | | | | | | | | | | Change-Id: I010a6322d12e038fdce247a58dfb05e204c2ff3b
| * | Windows QPA/File dialog: Avoid UI hangs caused by empty resultsFriedemann Kleint2019-04-041-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Typing in invalid URLs results in empty result lists. Emit rejected() in this case. Task-number: QTBUG-71785 Change-Id: Ia257b85a5c4370227f753752f6a473bbb3a054be Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | wasm: improve event coordinate handlingMorten Johan Sørvig2019-04-043-29/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | targetX and targetY are canvas-local coordinates, while Qt generally works with window-local and global coordinates. Add coordinate mapping calls where needed and make sure we pass correct coordinate types to Qt. This starts mattering when we have canvases which are not located at (0, 0). Change-Id: I28563310ca17d0cc5535317cff99fcd82d3723db Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* | | wasm: hide canvas text caretMorten Johan Sørvig2019-04-042-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Another side effect of setting contenteditable on the canvas. Seen on Firefox. Change-Id: I789ba4d7e6fbbdbf14b66fe1ae57183ec04e04bb Reviewed-by: Lorn Potter <lorn.potter@gmail.com>