Fix high startup time on wlroots compositors

This commit is contained in:
Kirill Chibisov 2019-12-31 19:53:27 +03:00 committed by Christian Duerr
parent 3e6e8a03ee
commit 6478ccaaa3
2 changed files with 11 additions and 1 deletions

View File

@ -35,6 +35,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Deadlock on Windows when closing Alacritty using the title bar "X" button (ConPTY backend)
- Crash on `clear` when scrolled up in history
- Entire screen getting underlined/stroke out when running `clear`
- Slow startup on some Wayland compositors
## 0.4.0

View File

@ -21,6 +21,8 @@ use std::time::Instant;
use glutin::dpi::{PhysicalPosition, PhysicalSize};
use glutin::event::ModifiersState;
use glutin::event_loop::EventLoop;
#[cfg(not(any(target_os = "macos", windows)))]
use glutin::platform::unix::EventLoopWindowTargetExtUnix;
use glutin::window::CursorIcon;
use log::{debug, info};
use parking_lot::MutexGuard;
@ -208,7 +210,14 @@ impl Display {
// We should call `clear` when window is offscreen, so when `window.show()` happens it
// would be with background color instead of uninitialized surface.
window.swap_buffers();
#[cfg(not(any(target_os = "macos", windows)))]
{
// On Wayland we can safely ignore this call, since the window isn't visible until you
// actually draw something into it.
if event_loop.is_x11() {
window.swap_buffers()
}
}
window.set_visible(true);