Files
xrdp/sesman/chansrv
Liyi Meng 38c8db8293 chansrv: Reconnect ibus when the cached connection has gone stale
Fixes #3230. The static `bus` global was only ever checked for
non-NULL, not for whether the underlying connection was still alive.
If ibus disconnected (daemon restart, stale socket) or the initial
connect attempt failed, `bus` was left set to a dead/freed connection,
so every later call to xrdp_input_unicode_init() took the "already
initialized" fast path and operated on it.

- Null out bus/g_engine in the "disconnected" signal handler instead
  of leaving them dangling after g_object_unref().
- Check ibus_bus_is_connected() before trusting a cached bus, and
  tear down + reconnect if it's stale.
- Unref and clear bus on a failed connect attempt instead of leaving
  it set.
- Guard the unrefs in xrdp_input_unicode_destroy() now that bus/
  g_engine can legitimately already be NULL.
2026-08-17 08:59:18 +00:00
..
2026-08-14 12:06:20 +01:00
2025-02-03 15:32:55 +00:00
2012-10-29 20:12:24 -07:00
2017-03-14 00:21:48 -07:00
2024-11-08 15:57:40 +00:00
2024-05-05 10:44:19 +08:00
2022-09-03 02:01:48 +00:00
2021-05-08 16:58:11 +00:00
2021-05-08 16:58:11 +00:00
2021-05-08 16:58:11 +00:00