Bug 365054

Summary: KRDC allways closed after typing the wrong server password
Product: [Applications] krdc Reporter: Stefan Müller <stefan.mueller300>
Component: generalAssignee: Urs Wolfer <uwolfer>
Status: RESOLVED FIXED    
Severity: normal CC: criguada
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Stefan Müller 2016-07-04 00:06:36 UTC
It is very annoying when I enter the wrong server password and then be KRDC closes. In the previous version, there was no such problem. When I work on multiple servers and then closes the whole app, then it is absolutely annoying!

Reproducible: Always

Steps to Reproduce:
1. Open an new RDP server
2. Type a wrong server password
3. You got a "wrong password" pop up message
4. click on "OK"
5. KRDC closes automatically with all previous open windows and connections. 


Expected Results:  
I click on "OK" and have the opportunity once again to enter the password.

My system OpenSuse Leap 42.1

KDE Frameworks 5.23.0
Qt 5.6.1 (kompiliert gegen 5.6.1)
Das xcb Fenstersystem
Comment 1 Urs Wolfer 2016-07-04 17:27:04 UTC
*** Bug 365073 has been marked as a duplicate of this bug. ***
Comment 2 Urs Wolfer 2016-07-04 17:27:41 UTC
What was the last version of KRDC where this worked for you?
Comment 3 Cristiano Guadagnino 2016-07-04 18:28:29 UTC
Unfortunately I don't remember because I usually don't have this kind of problems.
The fact that I noticed it now has been purely coincidental, I don't really remember the last time I tried to use an invalid password, sorry.
Comment 4 Stefan Müller 2016-07-04 23:02:00 UTC
Im not sure but I guess it was KRDC 4.14 (KDE4, not KDE5)
Comment 5 Matthew Dawson 2016-08-02 16:55:05 UTC
Git commit a6dca605fae01440cb510d65fd1896ba77646722 by Matthew Dawson.
Committed on 01/08/2016 at 17:24.
Pushed by mdawson into branch 'Applications/16.08'.

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.
REVIEW: 128569

M  +24   -20   rdp/rdpview.cpp
M  +10   -1    rdp/rdpview.h

http://commits.kde.org/krdc/a6dca605fae01440cb510d65fd1896ba77646722