From: Shawn O. Pearce Date: Wed, 27 Aug 2008 20:33:43 GMT Subject: Re: [egit PATCH] avoiding output in the error log Message-ID: <20080827203343.GN26523@spearce.org> In-Reply-To: <200808272228.07060.robin.rosenberg.lists@dewire.com> Robin Rosenberg wrote: > > @@ -197,8 +199,10 @@ synchronized (resources) { > > } // End ResCL > > > > void clearDecorationState(IResource r) throws CoreException { > > - r.setSessionProperty(GITFOLDERDIRTYSTATEPROPERTY, null); > > - fireLabelProviderChanged(new LabelProviderChangedEvent(this, r)); > > + if (r.exists()) { > > + r.setSessionProperty(GITFOLDERDIRTYSTATEPROPERTY, null); > > + fireLabelProviderChanged(new LabelProviderChangedEvent(this, r)); > > + } > > Shawn, you removed the test from the code in 4a230ea1. Perhaps you could care to > comment on this patch to restore the test, though slightly different. > > if (r.isAccessible()) > r.setSessionProperty(GITFOLDERDIRTYSTATEPROPERTY, null); This may be a patch queue reordering bug. If you look at 4a230ea1 I moved the isAccessible test higher up, such that we shouldn't enter into clearDecorationState unless the resource is accessible. But there may currently be two code paths that enter this method, and a patch I did not yet submit had removed the other code path. So in the short/medium term I agree with your patch, basically undo the second hunk of 4a230ea1. But keep the middle hunk, it was a real bug I ran into. -- Shawn.