Mir

Code review comment for lp:~cemil-azizoglu/mir/improve-raii

Revision history for this message
Alberto Aguirre (albaguirre) wrote :

===
360 + release_fn = std::move(other.release_fn);
===

This has a similar issue:

From http://www.cplusplus.com/reference/functional/function/operator=/
"
(2) move assignment
The object acquires the target of rhs.
rhs is left in an unspecified but valid state.
"

The tearing occurs in bypass (or overlays with android) because the implementation of post_renderables_if_optimizable in mesa and android keep a copy of the shared_ptr<Buffer> to guarantee it wouldn't be released to the client. This has changed now, as holding a reference to the buffer no longer implies the same behavior. Some rework is needed there (which I think it's good, because we should avoid nebulous ownership semantics)

review: Needs Fixing

« Back to merge proposal