mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2026-08-23 02:25:06 +00:00
client: fix 30s timeout regression
Changelog from Arnon Gilboa, patch from me:
Commit eb6f554094 caused the following regression:
When client runs without the auto-conf or disable-effects options
(either from CLI or controller), which is the case when using Spice
from Admin Portal, the client will unecessarily wait for 30sec before
connecting to a Windows guest with an agent running (this won't happen
with linux guests or without an agent running).
The mentioned patch assumed that on_agent_reply() of
VD_AGENT_DISPLAY_CONFIG will call send_main_attach_channels() and
connect. However, when auto-conf or disable-effects are not used,
on_agent_reply() will ignore the reply and not call
send_main_attach_channels(). Therefore, send_main_attach_channels()
will only be called on agent timeout.
The solution is to activate agent timer only if auto-conf or
disable-effects. Otherwise, simply call send_main_attach_channels().
Fixes rhbz #726441
This commit is contained in:
parent
8b4ff62ddb
commit
759fe8e270
@ -971,9 +971,14 @@ void RedClient::handle_init(RedPeer::InMessage* message)
|
||||
post_message(msg);
|
||||
send_agent_announce_capabilities(true);
|
||||
if (_auto_display_res) {
|
||||
send_agent_monitors_config();
|
||||
send_agent_monitors_config();
|
||||
}
|
||||
|
||||
if (_auto_display_res || !_display_setting.is_empty()) {
|
||||
_application.activate_interval_timer(*_agent_timer, AGENT_TIMEOUT);
|
||||
} else {
|
||||
send_main_attach_channels();
|
||||
}
|
||||
_application.activate_interval_timer(*_agent_timer, AGENT_TIMEOUT);
|
||||
} else {
|
||||
if (_auto_display_res || !_display_setting.is_empty()) {
|
||||
LOG_WARN("no agent running, display options have been ignored");
|
||||
|
||||
Loading…
Reference in New Issue
Block a user