* riece-filter.el (riece-sentinel): Don't call riece when
[riece] / lisp / riece-filter.el
index 97a25a6..a2efcb3 100644 (file)
 (defun riece-sentinel (process status)
   (if riece-reconnect-with-password
       (unwind-protect
-         (riece)
+         (if (eq process riece-server-process)
+             (riece)                   ;Need to initialize system.
+           (let* ((entry (rassq process riece-server-process-alist))
+                  (server-name
+                   (with-current-buffer (process-buffer process)
+                     riece-server-name))
+                  (process
+                   (riece-start-server
+                    (riece-server-name-to-server server-name)
+                    server-name)))
+             ;; Connect the process with old process' buffer.
+             (setcdr entry process)
+             (with-current-buffer (process-buffer process)
+               (setq riece-server-name server-name))))
        (setq riece-reconnect-with-password nil))
     (let ((server-name (with-current-buffer (process-buffer process)
                         riece-server-name)))