diff options
author | Hans Verkuil <hverkuil-cisco@xs4all.nl> | 2021-03-26 13:18:09 +0100 |
---|---|---|
committer | Hans Verkuil <hverkuil-cisco@xs4all.nl> | 2021-03-26 13:18:09 +0100 |
commit | f0f1641486ded51920abda7bccd503394b561837 (patch) | |
tree | 9d6a919d76b5095fa91910b3b218b29d4d7bd859 | |
parent | 162d4e7221ca1dc27b8025e988b34ce3b58855e8 (diff) | |
download | v4l-utils-f0f1641486ded51920abda7bccd503394b561837.tar.gz |
qv4l2: fallback if window()->windowHandle() == NULL
window()->windowHandle() can return NULL, in that case fallback
to a 1920x1080 screen resolution. Still better than a crash.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
-rw-r--r-- | utils/qv4l2/capture-win.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/utils/qv4l2/capture-win.cpp b/utils/qv4l2/capture-win.cpp index fad5b8c2..5667e7e7 100644 --- a/utils/qv4l2/capture-win.cpp +++ b/utils/qv4l2/capture-win.cpp @@ -244,8 +244,14 @@ void CaptureWin::setWindowSize(QSize frameSize) QDesktopWidget *screen = QApplication::desktop(); QRect resolution = screen->screenGeometry(); #else - QScreen *screen = window()->windowHandle()->screen(); - QSize resolution = screen->availableSize(); + QSize resolution(1920, 1080); + + // window()->windowHandle() can be NULL, for example when + // using X11 forwarding. + if (window()->windowHandle()) { + QScreen *screen = window()->windowHandle()->screen(); + resolution = screen->availableSize(); + } #endif QSize windowSize = pixelAspectFrameSize(cropSize(frameSize)) + margins; |