Mercurial > MadButterfly
view nodejs/observer.m4 @ 1340:10d5f06f7566
Fix issue of shouting error when removing a node.
- It shout a Python traceback message when removing a node that is
referenced by a svg:use node.
- when the node been removed, the node would be duplicated. The
duplication was used to replace the svg:use one.
- The ID of inserted duplication is the same as duplicated node,
and modified to a new and unique ID.
- Original design of domview_monitor can not handle it.
- It is resolved by changing domview_monitor._id2node from single
mapping to multiple mapping one.
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Sun, 06 Feb 2011 23:12:48 +0800 |
parents | 799c852b9065 |
children |
line wrap: on
line source
define([PROJ_PREFIX], [xnjsmb_auto_])dnl dnl STRUCT([observer], [observer_t], [INT([type])], []) STRUCT([subject], [subject_t], [], [METHOD([add_event_observer], [_subject_add_event_observer], (INT([type]), FUNC([handler])), 2, [OBJ([observer], [observer_t])]), METHOD([remove_observer], [_subject_remove_observer], (OBJ([observer], [observer], [observer_t])), 1, [])]) STRUCT([event], [event_t], [INT([type]), ACCESSOR([tgt], [xnjsmb_event_tgt_getter], [xnjsmb_event_tgt_setter]), ACCESSOR([cur_tgt], [xnjsmb_event_cur_tgt_getter], [xnjsmb_event_cur_tgt_setter]), INT([flags])], [], (([STMOD], [xnjsmb_event_mod])))