[PATCH] Xi: check all handlers before applying property changes.

Simon Thum simon.thum at gmx.de
Wed Oct 8 00:12:44 PDT 2008


Peter Hutterer wrote:
> Axis range changes are one example I can think of. The driver needs to update
> it for axis inversion, the server for scaling.
Hmm - that essentially forbids moving inversion into the server (which
could be done), because we'd never know if the driver wouldn't also do
it. But solving the transform charge problem is another matter altogether.

> No, this doesn't help if handler 1 reports "properly changed" and handler 2
> reports a BadValue (for whatever reason).
Yep, that's why it would need to be complemented with a
only-one-non-ignoring-handler policy. This would foster clear separation
and shouldn't be problematic to introduce in the early stages.

> Since the property handlers don't change the actual property value (that's
> done in the server on Success), "Don't care" is essentially the same as
> "properly changed" to the server.
Yes, but the actual propery value may not be what reflects the state in
the server, e.g. as in the 'Enabled' prop. So there is a difference.

Not that your design is bad - I just think we should keep complexity out
of handlers. They're what's going to multiply. 2-phase is good in
general, but IMO overkill.

Cheers,

Simon


PS: Thanks for attributing the scaling stuff to me, but that really
hadn't been necessary.



More information about the xorg mailing list