diff options
Diffstat (limited to 'src/plugins/platforms')
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoawindow.mm | 11 | ||||
-rw-r--r-- | src/plugins/platforms/wasm/wasm_shell.html | 2 | ||||
-rw-r--r-- | src/plugins/platforms/xcb/qxcbdrag.cpp | 8 |
3 files changed, 8 insertions, 13 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm index f212b3e3f0..21366b4f67 100644 --- a/src/plugins/platforms/cocoa/qcocoawindow.mm +++ b/src/plugins/platforms/cocoa/qcocoawindow.mm @@ -1509,17 +1509,6 @@ bool QCocoaWindow::updatesWithDisplayLink() const void QCocoaWindow::deliverUpdateRequest() { - // Don't send update requests for views that need display, as the update - // request doesn't carry any information about dirty rects, so the app - // may end up painting a smaller region than required. (For some reason - // the layer and view's needsDisplay status isn't always in sync, even if - // the view is layer-backed, not layer-hosted, so we check both). - if (m_view.layer.needsDisplay || m_view.needsDisplay) { - qCDebug(lcQpaDrawing) << "View needs display, deferring update request for" << window(); - requestUpdate(); - return; - } - qCDebug(lcQpaDrawing) << "Delivering update request to" << window(); QPlatformWindow::deliverUpdateRequest(); } diff --git a/src/plugins/platforms/wasm/wasm_shell.html b/src/plugins/platforms/wasm/wasm_shell.html index a118c217f3..d4bf632830 100644 --- a/src/plugins/platforms/wasm/wasm_shell.html +++ b/src/plugins/platforms/wasm/wasm_shell.html @@ -17,7 +17,7 @@ <body onload="init()"> <figure style="overflow:visible;" id="qtspinner"> <center style="margin-top:1.5em; line-height:150%"> - <img src="qtlogo.svg"; width=320; height=200; style="display:block"> </img> + <img src="qtlogo.svg" width="320" height="200" style="display:block"></img> <strong>Qt for WebAssembly: @APPNAME@</strong> <div id="qtstatus"></div> <noscript>JavaScript is disabled. Please enable JavaScript to use this application.</noscript> diff --git a/src/plugins/platforms/xcb/qxcbdrag.cpp b/src/plugins/platforms/xcb/qxcbdrag.cpp index 1ce947165d..3d525598ca 100644 --- a/src/plugins/platforms/xcb/qxcbdrag.cpp +++ b/src/plugins/platforms/xcb/qxcbdrag.cpp @@ -354,6 +354,11 @@ bool QXcbDrag::findXdndAwareTarget(const QPoint &globalPos, xcb_window_t *target void QXcbDrag::move(const QPoint &globalPos, Qt::MouseButtons b, Qt::KeyboardModifiers mods) { + // currentDrag() might be deleted while 'drag' is progressing + if (!currentDrag()) { + cancel(); + return; + } // The source sends XdndEnter and XdndPosition to the target. if (source_sameanswer.contains(globalPos) && source_sameanswer.isValid()) return; @@ -1076,7 +1081,8 @@ void QXcbDrag::cancel() send_leave(); // remove canceled object - currentDrag()->deleteLater(); + if (currentDrag()) + currentDrag()->deleteLater(); canceled = true; } |