… | |
… | |
586 | |
586 | |
587 | if (QUERY_FLAG (tmp, FLAG_APPLIED)) |
587 | if (QUERY_FLAG (tmp, FLAG_APPLIED)) |
588 | if (apply_special (op, tmp, AP_UNAPPLY | AP_NO_MERGE)) |
588 | if (apply_special (op, tmp, AP_UNAPPLY | AP_NO_MERGE)) |
589 | return; /* can't unapply it */ |
589 | return; /* can't unapply it */ |
590 | |
590 | |
591 | //fprintf (stderr, "ui, on space is %ld\n", op->ms ().volume ());//D |
|
|
592 | |
|
|
593 | /* We are only dropping some of the items. We split the current object |
591 | /* We are only dropping some of the items. We split the current object |
594 | * off |
592 | * off |
595 | */ |
593 | */ |
596 | if (!can_split (op, tmp, nrof)) |
594 | if (!can_split (op, tmp, nrof)) |
597 | return; |
595 | return; |
… | |
… | |
613 | * object that was dropped. |
611 | * object that was dropped. |
614 | * |
612 | * |
615 | * Make sure to check what happened with <obj> after this function returns! |
613 | * Make sure to check what happened with <obj> after this function returns! |
616 | * Otherwise you may leak this object. |
614 | * Otherwise you may leak this object. |
617 | */ |
615 | */ |
618 | |
|
|
619 | void |
616 | void |
620 | drop_object (object *dropper, object *obj) |
617 | drop_object (object *dropper, object *obj) |
621 | { |
618 | { |
622 | if (INVOKE_OBJECT (DROP, obj, ARG_OBJECT (dropper))) |
619 | if (INVOKE_OBJECT (DROP, obj, ARG_OBJECT (dropper))) |
623 | return; |
620 | return; |