onsdagen den 27 augusti 2008 22.33.43 skrev Shawn O. Pearce: > Robin Rosenberg <robin.rosenberg.lists@xxxxxxxxxx> 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. Good. So then the question is whether we should use isAccessible() or exists()? Normally this makes no difference, but for a Project (at least) there is a difference. I project that exits is not accessible when closed. -- robin -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html