[PATCH 0/2] Allow using of screen-specific privates in CloseScreen
Michal Srb
msrb at suse.com
Fri Nov 23 08:38:57 UTC 2018
Hi,
Those are two alternative fixes for
https://bugs.freedesktop.org/show_bug.cgi?id=108762
Either of them alone fixes the bug.
Brief description of the bug: Sometimes the screen-specific privates need to
be accessed in CloseScreen, but their `initialized` flag is already FALSE which
causes assertion failure. The flag has to be set to FALSE for them to get
reinitialized after restart. It is set before CloseScreen, because after it
some of the keys may be deallocated. More details in the bug.
* dix: Track DevPrivateKey initialization by generation
Instead of using boolean flag, use a number that is set to the server
generation which initialized it => no need to reset it, it "resets"
automatically when serverGeneration increments. Downside: changes the
_DevPrivateKeyRec struct.
* dix: Ignore initialized flag for screen-specific privates
Never reset the `initialized` flag for screen-specific privates and never
look at it. Instead search the list of already registered keys in
`dixRegisterScreenSpecificPrivateKey` to determine if it was already
registered.
Michal Srb (1):
dix: Ignore initialized flag for screen-specific privates
dix: Track DevPrivateKey initialization by generation
dix/privates.c | 23 +++++++++++------------
1 file changed, 11 insertions(+), 12 deletions(-)
--
2.16.4
More information about the xorg-devel
mailing list