Revert "damage: Make damageRegionProcessPending take a damage not a drawable"
The commit message makes the assertion that the code below damage is not allowed to change whether there's a damage monitor for the drawable. That turns out not to be the case! exa's mixed code, at least, will create and destroy a damage in PrepareAccess. The destroy path can then be catastrophic, as damageRegionProcessPending will attempt to RegionEmpty memory from the middle of a freed block. I'd wanted that invariant for performance, but faster isn't worth broken, so revert it. I think what exa's doing is reasonable, so the better way to improve performance for the unmonitored case is to either revisit dynamically wrapping into the GC, or inline damage into dix. This reverts commit 4e124203. Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1389886Signed-off-by: Adam Jackson <firstname.lastname@example.org>
Showing with 60 additions and 61 deletions