Avoid crash when handling RDP error and xfreerdp quits.
If xfreerdp sent a failure message then quit, the RDP plugin would first show a message box with a relevant message. During that time, the inner event loop would handle the xfreerdp process quitting, which would signal krdc to cleanup the RDP plugin's resources. When the message box event loop completed, the RdpView would have been destroyed, causing a crash. Now the RdpView signals that the view is quitting as soon as the message box is shown, and avoids trying to quit twice if another part signals a quit. Once the message box is dismissed, the process continues as normal. This adds the necessary mechanisms to handle this, as well as moving the message box display code to connectionError, to avoid some duplication. BUG: 365054 REVIEW: 128569
parent
1bacb33a
Please register or sign in to comment