--- deliantra/server/socket/item.C 2006/12/21 23:37:06 1.29 +++ deliantra/server/socket/item.C 2007/01/08 18:18:36 1.31 @@ -1,6 +1,7 @@ /* CrossFire, A Multiplayer game for X-windows + Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team Copyright (C) 2002 Mark Wedel & Crossfire Development Team Copyright (C) 1992 Frank Tore Johansen @@ -521,6 +522,10 @@ */ } + client *ns = pl->contr->ns; + if (!ns) + return; + if (!QUERY_FLAG (op, FLAG_CLIENT_SENT)) { /* FLAG_CLIENT_SENT is debug only. We are using it to see where @@ -552,13 +557,13 @@ sl << uint32 (QUERY_FLAG (op, FLAG_NO_PICK) ? -1 : weight); if (pl == op) - op->contr->last_weight = weight; + ns->last_weight = weight; } if (flags & UPD_FACE) { - if (!(pl->contr->ns->faces_sent[op->face->number] & NS_FACESENT_FACE)) - esrv_send_face (pl->contr->ns, op->face->number, 0); + if (!(ns->faces_sent[op->face->number] & NS_FACESENT_FACE)) + esrv_send_face (ns, op->face->number, 0); sl << uint32 (op->face->number); }