--- deliantra/server/common/object.C 2006/09/12 00:53:56 1.33 +++ deliantra/server/common/object.C 2006/09/12 01:09:53 1.34 @@ -2845,13 +2845,24 @@ return set_ob_key_value_s (op, key_, value, add_key); } -void -object::deep_iterator::next () +object::depth_iterator::depth_iterator (object *container) +: iterator_base (container) { - if (item->inv) + while (item->inv) item = item->inv; - else if (item->below) - item = item->below; +} + +void +object::depth_iterator::next () +{ + if (item->below) + { + item = item->below; + + while (item->inv) + item = item->inv; + } else - item = item->env->below; + item = item->env; } +