Stop when Wayland library has a fatal error (#1153)

This commit is contained in:
mstoeckl 2024-10-08 14:31:28 -04:00 committed by GitHub
parent 358babffd8
commit d0ea039a77
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -299,12 +299,19 @@ void VulkanExampleBase::renderLoop()
if (benchmark.active) { if (benchmark.active) {
#if defined(VK_USE_PLATFORM_WAYLAND_KHR) #if defined(VK_USE_PLATFORM_WAYLAND_KHR)
while (!configured) while (!configured)
wl_display_dispatch(display); {
if (wl_display_dispatch(display) == -1)
break;
}
while (wl_display_prepare_read(display) != 0) while (wl_display_prepare_read(display) != 0)
wl_display_dispatch_pending(display); {
if (wl_display_dispatch_pending(display) == -1)
break;
}
wl_display_flush(display); wl_display_flush(display);
wl_display_read_events(display); wl_display_read_events(display);
wl_display_dispatch_pending(display); if (wl_display_dispatch_pending(display) == -1)
return;
#endif #endif
benchmark.run([=] { render(); }, vulkanDevice->properties); benchmark.run([=] { render(); }, vulkanDevice->properties);
@ -522,12 +529,19 @@ void VulkanExampleBase::renderLoop()
} }
while (!configured) while (!configured)
wl_display_dispatch(display); {
if (wl_display_dispatch(display) == -1)
break;
}
while (wl_display_prepare_read(display) != 0) while (wl_display_prepare_read(display) != 0)
wl_display_dispatch_pending(display); {
if (wl_display_dispatch_pending(display) == -1)
break;
}
wl_display_flush(display); wl_display_flush(display);
wl_display_read_events(display); wl_display_read_events(display);
wl_display_dispatch_pending(display); if (wl_display_dispatch_pending(display) == -1)
break;
render(); render();
frameCounter++; frameCounter++;