[GH-ISSUE #225] remote desktop bug- does not respond after ctrl alt del #99

Closed
opened 2026-02-27 15:48:47 +03:00 by kerem · 11 comments
Owner

Originally created by @rabbitsmith on GitHub (May 27, 2015).
Original GitHub issue: https://github.com/quasar/Quasar/issues/225

if we press ctrl alt delete while the remote desktop session is started and then escape key is pressed, remote desktop window in xrat.exe does not respond. no input can be sent to client and then the picture does not update even after stopping and starting the remote desktop session. the only way to get it to work again is to close the remote desktop window and opening it again.

Originally created by @rabbitsmith on GitHub (May 27, 2015). Original GitHub issue: https://github.com/quasar/Quasar/issues/225 if we press ctrl alt delete while the remote desktop session is started and then escape key is pressed, remote desktop window in xrat.exe does not respond. no input can be sent to client and then the picture does not update even after stopping and starting the remote desktop session. the only way to get it to work again is to close the remote desktop window and opening it again.
kerem 2026-02-27 15:48:47 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@ghost commented on GitHub (May 27, 2015):

O_o, just tried this and it kills my client, it just crashes

<!-- gh-comment-id:105982124 --> @ghost commented on GitHub (May 27, 2015): O_o, just tried this and it kills my client, it just crashes
Author
Owner

@ghost commented on GitHub (May 27, 2015):

fixed

<!-- gh-comment-id:105983371 --> @ghost commented on GitHub (May 27, 2015): fixed
Author
Owner

@yankejustin commented on GitHub (May 27, 2015):

Hold on. I re-wrote some of it.

<!-- gh-comment-id:105986325 --> @yankejustin commented on GitHub (May 27, 2015): Hold on. I re-wrote some of it.
Author
Owner

@yankejustin commented on GitHub (May 27, 2015):

This way, the client will continue attempting to use Remote Desktop while it is still active, even if something happens in between transfer (likely the client can't correctly handle it correctly).

<!-- gh-comment-id:105987319 --> @yankejustin commented on GitHub (May 27, 2015): This way, the client will continue attempting to use Remote Desktop while it is still active, even if something happens in between transfer (likely the client can't correctly handle it correctly).
Author
Owner

@ghost commented on GitHub (May 27, 2015):

@yankejustin, yeah, its because graphics.copyfromscreen cant find the handle when the ctrl + alt+ delete screen is open, throwing a win32exception

<!-- gh-comment-id:105988499 --> @ghost commented on GitHub (May 27, 2015): @yankejustin, yeah, its because graphics.copyfromscreen cant find the handle when the ctrl + alt+ delete screen is open, throwing a win32exception
Author
Owner

@yankejustin commented on GitHub (May 27, 2015):

Yeah I know. I just didn't realize at first what the ctrl+alt+delete screen does to the operating system.

<!-- gh-comment-id:105988704 --> @yankejustin commented on GitHub (May 27, 2015): Yeah I know. I just didn't realize at first what the ctrl+alt+delete screen does to the operating system.
Author
Owner

@ghost commented on GitHub (May 27, 2015):

Perhaps there is some alternatives to graphics.copyfromscreen? I don't think a try catch block would affect performance too much, or would it?

<!-- gh-comment-id:105988851 --> @ghost commented on GitHub (May 27, 2015): Perhaps there is some alternatives to graphics.copyfromscreen? I don't think a try catch block would affect performance too much, or would it?
Author
Owner

@yankejustin commented on GitHub (May 27, 2015):

Think of it this way: performance is not comparable when the output is not right. If try-catch blocks aren't there, we can't say it is more efficient or works faster because it will not be the right end result. An end result that is not correct is infinitely slower in my eyes.

<!-- gh-comment-id:105989239 --> @yankejustin commented on GitHub (May 27, 2015): Think of it this way: performance is not comparable when the output is not right. If try-catch blocks aren't there, we can't say it is more efficient or works faster because it will <b>not</b> be the right end result. An end result that is not correct is infinitely slower in my eyes.
Author
Owner

@yankejustin commented on GitHub (May 27, 2015):

As for try-catch blocks, it ends up being almost the exact same speed. If an exception is thrown, it is a tiny bit slow, but it is desirable thing to have 1/2 a millisecond of performance hits at max instead of a crashed application. :)
I have tested try-catch blocks and there is no difference.

<!-- gh-comment-id:105989639 --> @yankejustin commented on GitHub (May 27, 2015): As for try-catch blocks, it ends up being almost the exact same speed. If an exception is thrown, it is a tiny bit slow, but it is desirable thing to have 1/2 a millisecond of performance hits at max instead of a crashed application. :) I have tested try-catch blocks and there is no difference.
Author
Owner

@ghost commented on GitHub (May 27, 2015):

That makes sense! I couldn't notice a visible performance hit either :P

<!-- gh-comment-id:105990078 --> @ghost commented on GitHub (May 27, 2015): That makes sense! I couldn't notice a visible performance hit either :P
Author
Owner

@yankejustin commented on GitHub (May 27, 2015):

As a reference, the reason we do not surround every method in try-catch blocks is because it is important to handle the exceptions in the correct spot. Otherwise, behavior is not enforced, GUIs are not set to the correct state, and the upset client gets frustrated. :)

<!-- gh-comment-id:105990214 --> @yankejustin commented on GitHub (May 27, 2015): As a reference, the reason we do not surround <i>every method</i> in try-catch blocks is because it is important to handle the exceptions <b>in the correct spot</b>. Otherwise, behavior is not enforced, GUIs are not set to the correct state, and the upset client gets frustrated. :)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Quasar#99
No description provided.