Implement dynamic resolution in Resolution::MatchWindow mode
Implement dynamic resolution in Resolution::MatchWindow mode () This MR implements dynamic resolution, aka: resize the remote desktop to fit the current krdc window size. It requires an rdp server supporting the MS-RDPEDISP channel, eg. Windows >= 8.1. Dynamic resolution is only enabled for connections in Resolution::MatchWindow mode.
A couple of generic issues where found when implementing this MR and fixed aswell:
- Krdc window size now correctly respects devicePixelRatio on startup and when the remote size changes
- Safety guards have been added in Rdpview to ensure m_session exists when it's used
To avoid flooding the server with resolution changes when the window gets resized, a timer is used to delay the requests. Since the relevant code is running inside a non-Qt thread (created by freerdp), we can't use a QTimer. So, a simple timer implementation has been added.
Edited by Fabio Bas