Community
Participate
Working Groups
+++ This bug was initially created as a clone of Bug #149285 +++ From bug 149285 comment 11: When I expand the My Home Filter and press cancel in SSH, I get an "Empty List" subnode. When I select "My Home" again and press Refresh, I get the login dialog; if I cancel, I get the login dialog again. Login dialog should appear once only.
Here is a stack trace: SubSystem.checkIsConnected() -> throws SystemMessageException RemoteFileSubSystem.getTargetForFilter(ISystemFilterReference) -> eats the exception silently, but returns null SystemView$ResourceChangedJob.runInUIThread(IProgressMonitor) line 2207 -> doesnt know that it was canceled and tries to continue DaveM, I think that's a problem which only you can finish... thanks Looks like second time we pop into connect from here: AbstractSystemViewAdapter.fetchDeferredChildren() DeferredTreeContentManager$1.run(IProgressMonitor)
Created attachment 100189 [details] patch to catch operationcancelledexception when connecting Martin, I don't see the same thing as you in this scenario. What I found was that when we prompted for password and the user cancelled, we were throwing an OperationCancelledException. We were not catching that and setting the isCancelled flag to true. That meant that when we get to the following code, the prompter.isCancelled() returned false instead of true, allowing the connect to continue to the service layer. if (prompter.isCancelled()) { SystemMessage cancelledMessage = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_EXPAND_CANCELLED); SystemMessageObject cancelledMessageObject = new SystemMessageObject(cancelledMessage, ISystemMessageObject.MSGTYPE_CANCEL, _remoteObject); _collector.add(cancelledMessageObject, monitor); throw new InterruptedException(); } try { ss.getConnectorService().connect(monitor); Is my case different from yours?
I committed the patch to cvs.
*** Bug 160810 has been marked as a duplicate of this bug. ***