> Why is this needed? Does it make something possible for a server that wasn't
> before?
It allows to add another component to track sessions and which windows belong to which session. If you loo at the current session_manager.cpp you will see that it is essentially already an unrolled registry of session listeners. I did this change while I was working on supporting the client controlled hardware cursors - which requires tracking those two in relation.
This would not be necessary if we would store that information in our scene and if we would define explicit update and evaluate-update... In fact this would simplify a bunch of code paths that we currently have as scattered observer tuples..
So in the use case I was working on I coulde figure out which session / window would be in charge of the cursor .. or wether there is currently no surface on top that wants to do that.
> Why is this needed? Does it make something possible for a server that wasn't
> before?
It allows to add another component to track sessions and which windows belong to which session. If you loo at the current session_manager.cpp you will see that it is essentially already an unrolled registry of session listeners. I did this change while I was working on supporting the client controlled hardware cursors - which requires tracking those two in relation.
This would not be necessary if we would store that information in our scene and if we would define explicit update and evaluate-update... In fact this would simplify a bunch of code paths that we currently have as scattered observer tuples..
So in the use case I was working on I coulde figure out which session / window would be in charge of the cursor .. or wether there is currently no surface on top that wants to do that.