updates.
[silc.git] / apps / silcd / server.c
index e8874aeca14a87cee0bc703ea1da3eafc6cb3eae..8eb36c88131fcdde59f684909bdbdbe099bb206d 100644 (file)
@@ -2533,6 +2533,11 @@ void silc_server_free_client_data(SilcServer server,
   silc_server_packet_queue_purge(server, sock);
 
   if (client->id) {
+    /* Check if anyone is watching this nickname */
+    if (server->server_type == SILC_ROUTER)
+      silc_server_check_watcher_list(server, client, NULL,
+                                    SILC_NOTIFY_TYPE_SIGNOFF);
+
     /* Send SIGNOFF notify to routers. */
     if (notify && !server->standalone && server->router)
       silc_server_send_notify_signoff(server, server->router->connection,
@@ -2547,11 +2552,6 @@ void silc_server_free_client_data(SilcServer server,
       silc_server_remove_from_channels(server, NULL, client,
                                       FALSE, NULL, FALSE);
 
-    /* Check if anyone is watching this nickname */
-    if (server->server_type == SILC_ROUTER)
-      silc_server_check_watcher_list(server, client, NULL,
-                                    SILC_NOTIFY_TYPE_SIGNOFF);
-
     /* Remove this client from watcher list if it is */
     silc_server_del_from_watcher_list(server, client);
   }