|
Re: Conflicting Handlers on Migration [message #1697227 is a reply to message #1697202] |
Tue, 02 June 2015 14:50 |
Eclipse User |
|
|
|
That warning indicates that the platform found at least two handler instances for the same command and was unable to definitively choose one as the winner based on the <activeWhen> expressions. Basically the platform scores each handler based on the complexity of the activeWhen expression. When deciding what should be the active handler, the platform sorts the applicable handlers based on this score and selects the smallest score. If you have a command with a default handler, you must ensure all other handlers specify an <activeWhen>:
Quote:A handler that specifies no conditions is a default handler. A default handler is only active if no other handler has all of its conditions satisfied. If two handlers still have conditions that are satisfied, then the conditions are compared. The idea is to select a handler whose condition is more specific or more local. To do this, the variables referred to by the condition are looked at. The condition that refers to the most specific variable "wins". The order of specificity (from least specific to most specific) is suggested in org.eclipse.ui.ISources.
If this still doesn't resolve the conflict, then no handler is active. If a particular tracing option is turned on, then this leads to a message in the log. A conflict can also occur if there are two default handlers. It is the responsibility of the plug-in developers and integration testers to ensure that this does not happen.
http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fextension-points%2Forg_eclipse_ui_handlers.html
I'm not sure why you're getting multiple instances of the same handler instance being registered.
Brian.
|
|
|
Powered by
FUDForum. Page generated in 0.01978 seconds