Add client test for subsurface with hidden parent
Task-number: QTBUG-79674 Change-Id: I451ee4423dee511f41070498a61167912920c086 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
This commit is contained in:
parent
8d409b0952
commit
41216bedd4
@ -42,7 +42,9 @@ private slots:
|
||||
void waitForFrameCallbackGl();
|
||||
void negotiateShmFormat();
|
||||
|
||||
// Subsurfaces
|
||||
void createSubsurface();
|
||||
void createSubsurfaceForHiddenParent();
|
||||
};
|
||||
|
||||
void tst_surface::createDestroySurface()
|
||||
@ -172,5 +174,26 @@ void tst_surface::createSubsurface()
|
||||
QCOMPOSITOR_TRY_VERIFY(subSurface());
|
||||
}
|
||||
|
||||
// Used to cause a crash in libwayland (QTBUG-79674)
|
||||
void tst_surface::createSubsurfaceForHiddenParent()
|
||||
{
|
||||
QRasterWindow window;
|
||||
window.resize(64, 64);
|
||||
window.show();
|
||||
QCOMPOSITOR_TRY_VERIFY(xdgToplevel());
|
||||
exec([=] { xdgToplevel()->sendCompleteConfigure(); });
|
||||
QCOMPOSITOR_TRY_VERIFY(xdgSurface()->m_committedConfigureSerial);
|
||||
|
||||
window.hide();
|
||||
|
||||
QRasterWindow subWindow;
|
||||
subWindow.setParent(&window);
|
||||
subWindow.resize(64, 64);
|
||||
subWindow.show();
|
||||
|
||||
// Make sure the client doesn't quit before it has a chance to crash
|
||||
xdgPingAndWaitForPong();
|
||||
}
|
||||
|
||||
QCOMPOSITOR_TEST_MAIN(tst_surface)
|
||||
#include "tst_surface.moc"
|
||||
|
Loading…
x
Reference in New Issue
Block a user