… | |
… | |
930 | } |
930 | } |
931 | |
931 | |
932 | void |
932 | void |
933 | object::do_destroy () |
933 | object::do_destroy () |
934 | { |
934 | { |
935 | if (object *pl = visible_to ()) |
|
|
936 | esrv_del_item (pl->contr, count); |
|
|
937 | |
|
|
938 | attachable::do_destroy (); |
|
|
939 | |
|
|
940 | if (flag [FLAG_IS_LINKED]) |
935 | if (flag [FLAG_IS_LINKED]) |
941 | remove_button_link (this); |
936 | remove_button_link (this); |
942 | |
937 | |
943 | if (flag [FLAG_FRIENDLY]) |
938 | if (flag [FLAG_FRIENDLY]) |
944 | remove_friendly_object (this); |
939 | remove_friendly_object (this); |
945 | |
940 | |
946 | if (!flag [FLAG_REMOVED]) |
|
|
947 | remove (); |
941 | remove (); |
|
|
942 | |
|
|
943 | attachable::do_destroy (); |
948 | |
944 | |
949 | destroy_inv (true); |
945 | destroy_inv (true); |
950 | |
946 | |
951 | deactivate (); |
947 | deactivate (); |
952 | unlink (); |
948 | unlink (); |
… | |
… | |
1020 | object::do_remove () |
1016 | object::do_remove () |
1021 | { |
1017 | { |
1022 | object *tmp, *last = 0; |
1018 | object *tmp, *last = 0; |
1023 | object *otmp; |
1019 | object *otmp; |
1024 | |
1020 | |
1025 | if (QUERY_FLAG (this, FLAG_REMOVED)) |
1021 | if (flag [FLAG_REMOVED]) |
1026 | return; |
1022 | return; |
1027 | |
1023 | |
1028 | SET_FLAG (this, FLAG_REMOVED); |
|
|
1029 | INVOKE_OBJECT (REMOVE, this); |
1024 | INVOKE_OBJECT (REMOVE, this); |
|
|
1025 | |
|
|
1026 | if (object *pl = visible_to ()) |
|
|
1027 | esrv_del_item (pl->contr, count); |
|
|
1028 | |
|
|
1029 | flag [FLAG_REMOVED] = true; |
1030 | |
1030 | |
1031 | if (more) |
1031 | if (more) |
1032 | more->remove (); |
1032 | more->remove (); |
1033 | |
1033 | |
1034 | /* |
1034 | /* |