windows that no longer exists. (This shouldn't happen with the current
code base, but will be a problem when multiple main windows and
created and destroyed through the process lifetime.)
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1546 423420c4-83ab-492f-b58f-81f9feb106b5
behaviour of setting the session size in ui_init is not going to work,
due to xrandr, as pointed out in r1538. However, the approach
implemented in this revision doesn't work either: When the window is
created before the connection, this means that as soon as X11 events
are recieved, this is going to trigger RDP transmissions. For example,
a call to reset_modifiers_keys. But if the RDP connection is not
ready, the WTS is not prepared to handle such data. We must wait with,
for example, keyboard input until the connection is READY. OTOH, we
can't just ignore those X11 events; that might lead to that we are not
sending information that we need to send.
So, it is actually better to wait with creating the window until we
have been connected. An additional advantage of this is that for the
load balancing / session directory case, there's no risk of confusion
of which RDP connection we are actually sending data to.
The previous behaviour of creating the window after we have been
connected has been restored.
Since we still need to set connection data (currently screen size) on
a per connection basis, we need to create a new UI function for this.
Non-X11 backends need to implement this new function.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1545 423420c4-83ab-492f-b58f-81f9feb106b5
reconnect random. It seems to work anyway, but let's take care.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1541 423420c4-83ab-492f-b58f-81f9feb106b5
client can re-connect using a cookie, instead of going through the
normal authentication. This patch saves those cookies, and uses them
during logon.
Note that this feature is currently unused. It remains to add support
for, say, detecting when the TCP connection has gone done and restart
a new one.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1539 423420c4-83ab-492f-b58f-81f9feb106b5
ui_create_window. ui_init is only called once during the execution,
but the size of the screen can change, for example, when resizing
using Xrandr.
Note however that this also means that ui_create_window must be called
before rdp_connect. rdesktop.c has been modified accordingly. One
additional advantage is that you will get a window during the
connection phase, which gives the user better feedback in case the
connection takes time.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1538 423420c4-83ab-492f-b58f-81f9feb106b5
might be different from the one generated when the key was
pressed. This can happen if the user physically releases the modifier
key before the symbol key. It can also happen with VNC servers such as
Xvnc, since it only "fakes" the correct modifiers during key
presses. So, we must remember which keysym that was used during the
key press, and use the same on release, otherwise keys such as the
Windows key can be stuck activated.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1512 423420c4-83ab-492f-b58f-81f9feb106b5
* The current return values have been selected pretty much without any
thought. Basically, the value 1 is used for all different kinds of
errors, except for a corner case where the server doesn't send a
RDP_PDU_DEACTIVATE in combination with a few special "reasons", where
the value 2 is used instead.
* rdesktop will currently also return with 2 if the user is closing
the rdesktop window, the same error as many other fatal errors, which
is somewhat strange.
* The main principle of my patch is to utilize more of the available
256 return codes. We are currently only using 3 values out of
256. This is bad; rdesktop should expose more information to the
caller about error conditions if it can.
Besides using the standardized exit codes for generic errors such as
EX_USAGE for command line usage errors, I've also exposed the
"extended disconnect reasons" from RDP. This allows for, for example,
to be able to distinguish between a logoff and a disconnect.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1510 423420c4-83ab-492f-b58f-81f9feb106b5
disc variable is incorrect. Removed the variable, since it's always
False.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1508 423420c4-83ab-492f-b58f-81f9feb106b5
currently needs. Avoids transmitting recording data on playback with padsp.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1480 423420c4-83ab-492f-b58f-81f9feb106b5