offscreen: Check that native interface is valid before using it
If the offscreen platform plugin is used on Windows then it can end up crashing since there is no native interface. This prevents a crash from occurring when these functions are called. Change-Id: I526fc0703771fa5f85b26d182ad3b15ef1a3ada5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>bb10
parent
d3b6ef6ccf
commit
f4435d2d5c
|
|
@ -122,7 +122,8 @@ static inline HDC hdcForWidgetBackingStore(const QWidget *widget)
|
|||
{
|
||||
if (QBackingStore *backingStore = backingStoreForWidget(widget)) {
|
||||
QPlatformNativeInterface *nativeInterface = QGuiApplication::platformNativeInterface();
|
||||
return static_cast<HDC>(nativeInterface->nativeResourceForBackingStore(QByteArrayLiteral("getDC"), backingStore));
|
||||
if (nativeInterface)
|
||||
return static_cast<HDC>(nativeInterface->nativeResourceForBackingStore(QByteArrayLiteral("getDC"), backingStore));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -242,7 +242,7 @@ public:
|
|||
static HWND getHWNDForWidget(const QWidget *widget)
|
||||
{
|
||||
if (QWindow *window = windowForWidget(widget))
|
||||
if (window->handle())
|
||||
if (window->handle() && QGuiApplication::platformNativeInterface())
|
||||
return static_cast<HWND> (QGuiApplication::platformNativeInterface()->
|
||||
nativeResourceForWindow(QByteArrayLiteral("handle"), window));
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue