tests: Send frame callbacks by default
Currently we have special handling for wl-shell to automatically respond to frame callbacks in the mock compositor. With the framecallback timer this results in flaky tests as the window becomes unexposed. Pick-to: 6.6 Change-Id: I2add44d59ba26368c031a381849891f49764bfb5 Reviewed-by: David Edmundson <davidedmundson@kde.org>
This commit is contained in:
parent
4a7e459dc7
commit
5e47af01b4
@ -23,6 +23,7 @@ public:
|
||||
{
|
||||
exec([this] {
|
||||
m_config.autoConfigure = true;
|
||||
m_config.autoFrameCallback = false; // for cursor animation test
|
||||
|
||||
removeAll<Seat>();
|
||||
|
||||
|
@ -43,6 +43,9 @@ DefaultCompositor::DefaultCompositor(CompositorType t, int socketFd)
|
||||
// Pretend we made a copy of the buffer and just release it immediately
|
||||
surface->m_committed.buffer->send_release();
|
||||
}
|
||||
if (m_config.autoFrameCallback) {
|
||||
surface->sendFrameCallbacks();
|
||||
}
|
||||
if (m_config.autoEnter && get<Output>() && surface->m_outputs.empty())
|
||||
surface->sendEnter(get<Output>());
|
||||
wl_display_flush_clients(m_display);
|
||||
|
@ -61,6 +61,7 @@ public:
|
||||
bool autoEnter = true;
|
||||
bool autoRelease = true;
|
||||
bool autoConfigure = false;
|
||||
bool autoFrameCallback = true;
|
||||
} m_config;
|
||||
void resetConfig() { exec([&] { m_config = Config{}; }); }
|
||||
};
|
||||
|
@ -12,6 +12,8 @@ using namespace MockCompositor;
|
||||
class tst_surface : public QObject, private DefaultCompositor
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit tst_surface();
|
||||
private slots:
|
||||
void cleanup() { QTRY_VERIFY2(isClean(), qPrintable(dirtyMessage())); }
|
||||
void createDestroySurface();
|
||||
@ -26,6 +28,11 @@ private slots:
|
||||
void createSubsurfaceForHiddenParent();
|
||||
};
|
||||
|
||||
tst_surface::tst_surface()
|
||||
{
|
||||
m_config.autoFrameCallback = false;
|
||||
}
|
||||
|
||||
void tst_surface::createDestroySurface()
|
||||
{
|
||||
QWindow window;
|
||||
|
Loading…
x
Reference in New Issue
Block a user