
- create an additional sigc++ 'modified' signal in SPNamedView
[ note! if SPNamedView is still GObject-based, you MUST:
- explicitly call the signal object's constructor in
sp_namedview_init(), via placement new
- explicitly call the signal object's destructor in
sp_namedview_finalize(), or whatever that's called
This does not suffice IMHO, and therefore, your instructions (which are fine for isolated classes) will not work with SPNamedView because
- convert all g_signal_emit(..., "modified", ...) calls on
SPNamedViews to emissions of the sigc++ signal instead (except the one in the special handler)
there is no such thing as an explicit call to g_signal_emit (namedview, ... "modified");
because this goes all (and funnily, twice) through SPObject::emitModified. Test case:
with gdb, set breakpoint at sp_desktop_widget_namedview_modified, start up, then press #
The only way to catch this would be, in SPObject::emitModified(), to scan the calls if the object is a namedview, and if so, call its own (sigc++) emit function. Ugly but possible. Do you agree?
ralf