Hi, So, I think I've found a bug!
I'm developing a plugin that implements IRequestHandler and INavigationContributor. My "process_request()" method calls "add_script()" a couple of times. For reasons I don't fully understand, the "get_active_navigation_item()" method gets called in these situations, but I'm assuming it's by design. Note that "process_request()" belongs to the IRequestHandler extension point, and "get_active_navigation_item()" belongs to the INavigationContributor extension point. The issue is, I need to implement these extensions points in two distinct Component classes. But when I split the Component class in two (one for each extension point) the "get_active_navigation_item()" is no longer called, so the item that I'm adding to the mainnav no longer shows highlighted... I am sure that both Component classes are being picked up by trac as the other methods of the extensions points are being invoked (e.g., the get_navigation_items() method is being called). I've tracked this as far as trac.web.chrome.py. I think the relevant lines are these: if contributor is handler: active = contributor.get_active_navigation_item(req) I can't figure out where the "handler" value comes from, but I've confirmed that it is never an instance of the component implementing INavigationContributor. Any help appreciated. thanks in advance! Filipe Correia -- You received this message because you are subscribed to the Google Groups "Trac Development" group. To unsubscribe from this group and stop receiving emails from it, send an email to trac-dev+unsubscr...@googlegroups.com. To post to this group, send email to trac-dev@googlegroups.com. Visit this group at http://groups.google.com/group/trac-dev?hl=en. For more options, visit https://groups.google.com/groups/opt_out.