atomic: do not revert on failing state
This commit is contained in:
parent
f1c40f7306
commit
7c4ca4e524
|
@ -454,7 +454,7 @@ impl<A: AsRawFd + 'static> RawSurface for AtomicDrmSurfaceInternal<A> {
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut current = self.state.write().unwrap();
|
let mut current = self.state.write().unwrap();
|
||||||
let mut pending = self.pending.write().unwrap();
|
let pending = self.pending.write().unwrap();
|
||||||
|
|
||||||
debug!(
|
debug!(
|
||||||
self.logger,
|
self.logger,
|
||||||
|
@ -510,18 +510,8 @@ impl<A: AsRawFd + 'static> RawSurface for AtomicDrmSurfaceInternal<A> {
|
||||||
self.logger,
|
self.logger,
|
||||||
"New screen configuration invalid!:\n\t{:#?}\n\t{}\n", req, err
|
"New screen configuration invalid!:\n\t{:#?}\n\t{}\n", req, err
|
||||||
);
|
);
|
||||||
info!(self.logger, "Reverting back to last know good state");
|
|
||||||
|
|
||||||
*pending = current.clone();
|
return Err(err);
|
||||||
|
|
||||||
self.build_request(
|
|
||||||
&mut [].iter(),
|
|
||||||
&mut [].iter(),
|
|
||||||
&self.planes,
|
|
||||||
Some(framebuffer),
|
|
||||||
Some(current.mode),
|
|
||||||
Some(current.blob),
|
|
||||||
)?
|
|
||||||
} else {
|
} else {
|
||||||
if current.mode != pending.mode {
|
if current.mode != pending.mode {
|
||||||
if let Err(err) = self.dev.destroy_property_blob(current.blob.into()) {
|
if let Err(err) = self.dev.destroy_property_blob(current.blob.into()) {
|
||||||
|
|
Loading…
Reference in New Issue