summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2022-06-13 15:03:56 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2022-06-13 19:17:53 +0000
commit5909e33d1dea34daef271598eb1c9dd06a238801 (patch)
treec1b190975cf992b462bf63299baca492ce28a2c1 /src/plugins/platforms/cocoa
parente6da018c86d874f5f0a5549f97609bf456a6f0d3 (diff)
macOS: Ignore update requests for offline displays
Accessing a display that's offline may cause crashes, so to be on the safe side we skip update requests in this situation. Task-number: QTBUG-102021 Pick-to: 6.2 6.3 6.4 5.15 Change-Id: I6b48b6722bccde628e510c538943d14f2b0271e5 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/plugins/platforms/cocoa')
-rw-r--r--src/plugins/platforms/cocoa/qcocoascreen.mm5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoascreen.mm b/src/plugins/platforms/cocoa/qcocoascreen.mm
index 1d2b93cd48..923e5c09ad 100644
--- a/src/plugins/platforms/cocoa/qcocoascreen.mm
+++ b/src/plugins/platforms/cocoa/qcocoascreen.mm
@@ -275,6 +275,11 @@ void QCocoaScreen::requestUpdate()
{
Q_ASSERT(m_displayId);
+ if (!isOnline()) {
+ qCDebug(lcQpaScreenUpdates) << this << "is not online. Ignoring update request";
+ return;
+ }
+
if (!m_displayLink) {
CVDisplayLinkCreateWithCGDisplay(m_displayId, &m_displayLink);
CVDisplayLinkSetOutputCallback(m_displayLink, [](CVDisplayLinkRef, const CVTimeStamp*,