The root reason is fm_tree_view_dispose as a GObject dispose method can be invoked multiple times according to the GObject Reference. So it means nautilus_lockdown_notify_remove can be run many times but nautilus_lockdown_notify_add is run from fm_tree_view_init only once. So an assert error happens.
So the fix is move each lockdown adding to the corresponding object instance initializing method and move each lockdown removing to the corresponding object finalizing method. lin -- x82120 / +86 10 82618200 -------------- next part -------------- A non-text attachment was scrubbed... Name: nautilus-07-lockdown.diff Type: text/x-patch Size: 26967 bytes Desc: not available URL: <http://mail.opensolaris.org/pipermail/jds-review/attachments/20080428/64ca362f/attachment.bin>
