Skip to content

Remove WindowRec::backStorage

Adam Jackson requested to merge ajax/xserver:simplify-backstorage into master

This is another cleanup in service of trying to get bs-always working. For context, the last time I sent that series to the mailing list, I was explicitly shooting down backing store in compDestroyWindow, and @keithp rightly called that ugly. Then I got reports of crashes at window destruction in that area, presumably because I'm getting reference counting wrong somewhere along the line.

It turns out that code all looks a lot simpler and more plausibly correct if I just stop using pWin->backStorage to mean anything. And indeed I think we can remove it entirely. 1/3 in this series removes a stray mention of backStorage in exposure handling; 2/3 optimizes ChangeWindowAttributes to only notify the DDX about changes in backing store state. At that point compCheckBackingStore can just always do what it's told, and then we're not using backStorage for anything anymore and can delete it.

Merge request reports