From: Pauli Nieminen <[email protected]> And now I did reread the logic after night. I again found a serious bug that could have resulted to NULL pointer call if not yet called block handlers would be removed in handler. Solution is to check select deletion path depending on if call has been already made.
I hope this version of the implementation doesn't have any more major bugs in some corner cases like previous implementations. I probably should do these after night self reviews before sending to list at first place. I also added Alan's SOB to the 2nd patch. I didn't add r-b because of fundamental change in the code. But here is list of offered for previous version: Reviewed-by: Adam Jackson <[email protected]> Reviewed-by: Mark Kettenis <[email protected]> Reviewed-by: Daniel Stone <[email protected]> Pauli Nieminen (12): dix: Refactor block and wakup handlers doc: Update documentation to match the extended API udev: Don't register empty block handler dbus: Don't register empty block handler ephyr: Don't register empty wakeup handler kdrive/linux: Don't register empty block handler vfb: Don't register empty wakeup handler xfree86: Don't register empty block handler dmx: Don't register empty wakeup handler rootless: Don't register empty wakeup handler shadow: Don't register empty wakeup handler selinux: Don't register empty block handler Xext/xselinux_hooks.c | 11 +-- config/dbus-core.c | 9 +-- config/udev.c | 9 +-- dix/dixutils.c | 226 ++++++++++++++++++++++++++------------- doc/xml/Xserver-spec.xml | 42 +++++++- hw/dmx/dmxsync.c | 9 +-- hw/kdrive/ephyr/ephyr.c | 14 +-- hw/kdrive/linux/linux.c | 9 +-- hw/vfb/InitOutput.c | 10 +-- hw/xfree86/common/xf86Init.c | 3 +- include/dix.h | 16 +++ miext/rootless/rootlessScreen.c | 12 +-- miext/shadow/shadow.c | 11 +-- 13 files changed, 223 insertions(+), 158 deletions(-) _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
