[Turn off line numbering]
1: arg event, @args;
2: var o;
3:
4: // some sort of perms checking..
5: if (!hooks || !hooks.contains(event))
6: return;
7: for o in (hooks[event]) {
8: if (!valid(o)) {
9: hooks = dict_add(hooks, event, setremove(hooks[event], o));
10: hooked = (hooked || #[]).del_elem(o, event);
11: }
12: (| o.event_notify(event, sender(), @args) |);
13: }
14: if (!hooked)
15: (| clear_var('hooked) |);
16:
17: // $#Edited: 29 Mar 97 17:12 $miro
["// Created 16-Dec-1996 as a part of ColdCore, see: @help Credit"]