--- deliantra/server/socket/info.C 2007/04/30 04:25:30 1.40 +++ deliantra/server/socket/info.C 2007/05/06 02:06:03 1.42 @@ -1,5 +1,5 @@ /* - * CrossFire, A Multiplayer game for X-windows + * CrossFire, A Multiplayer game * * Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team * Copyright (C) 2002 Mark Wedel & Crossfire Development Team @@ -152,25 +152,25 @@ * */ void -new_draw_info (int flags, int pri, const object *pl, const char *buf) +new_draw_info (int flags, int pri, const object *op, const char *buf) { if (flags & NDI_ALL) { for_all_players (pl) new_draw_info (flags & ~NDI_ALL, pri, pl->ob, buf); - - return; } + else + { + if (!op || !op->contr || !op->contr->ns) + return; - if (!pl || pl->type != PLAYER || !pl->contr || !pl->contr->ns) - return; - - if (pri >= pl->contr->listening) - return; + if (pri >= op->contr->listening) + return; - if ((flags & (NDI_COLOR_MASK | NDI_UNIQUE)) != NDI_BLACK - || !pl->contr->ns->msg_suppressed (buf)) - print_message (flags & NDI_COLOR_MASK, pl, buf); + if ((flags & (NDI_COLOR_MASK | NDI_UNIQUE)) != NDI_BLACK + || !op->contr->ns->msg_suppressed (buf)) + print_message (flags & NDI_COLOR_MASK, op, buf); + } } /**