Stop Terminal::drop from overriding work of Terminal::restore. (#7931)

When Application::run is exiting, either Terminal::restore or
Terminal::force_restore will be called depending
on if a panic occured or not.
Both of these functions will reset the cursor to terminal's default.

After this is done, Terminal::drop will be called.
If terminal.cursor_kind == Hidden, then
the cursor will be reset to a CursorKind::Block,
undoing the work of restore or force_restore.

This commit just removes the drop implementation,
as its job is already better handled in restore and force_restore.
main
Dillard Robertson 1 year ago committed by GitHub
parent 2756f70dfc
commit ea88677394
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -65,20 +65,6 @@ where
viewport: Viewport, viewport: Viewport,
} }
impl<B> Drop for Terminal<B>
where
B: Backend,
{
fn drop(&mut self) {
// Attempt to restore the cursor state
if self.cursor_kind == CursorKind::Hidden {
if let Err(err) = self.show_cursor(CursorKind::Block) {
eprintln!("Failed to show the cursor: {}", err);
}
}
}
}
impl<B> Terminal<B> impl<B> Terminal<B>
where where
B: Backend, B: Backend,

Loading…
Cancel
Save