diff options
Diffstat (limited to 'xrdp/xrdp_wm.c')
| -rw-r--r-- | xrdp/xrdp_wm.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/xrdp/xrdp_wm.c b/xrdp/xrdp_wm.c index 8029d517..7d15c3d0 100644 --- a/xrdp/xrdp_wm.c +++ b/xrdp/xrdp_wm.c @@ -1475,10 +1475,16 @@ xrdp_wm_login_mode_changed(struct xrdp_wm* self) } else if (self->login_mode == 2) { - xrdp_wm_set_login_mode(self, 3); /* put the wm in connected mode */ - xrdp_wm_delete_all_childs(self); - self->dragging = 0; - xrdp_mm_connect(self->mm); + if (xrdp_mm_connect(self->mm) == 0) + { + xrdp_wm_set_login_mode(self, 3); /* put the wm in connected mode */ + xrdp_wm_delete_all_childs(self); + self->dragging = 0; + } + else + { + /* we do nothing on connect error so far */ + } } else if (self->login_mode == 10) { |
