RemoteDesktop: Fix relativity of absolute pointer motion
According to the interface, the given pointer coordinates are in logical coordinates relative to the specified stream. We were completely ignoring that, instead having a global "streamed screen position", which was set to whatever the last stream was that was started. This breaks when using multiple streams, causing all input to be relative to the last stream. To fix this, add a "geometry" getter to ScreencastingStream that gets set to the stream's geometry when created. Then, in requestPointerMotionAbsolute, we lookup the requested stream and use it's topLeft as offset to the provided mouse position.
Please register or sign in to comment