Community
Participate
Working Groups
Build Identifier: 3.8 M4 After upgrading to 3.8 M4 from 3.7.1 any attempt to use history view with mercurialEclipse plugin fails because PageBookView now expects that getSite().getSelectionProvider() must be always PageBookView$SelecitonProvider which is obviously just plain wrong - it can be ANY ISelecitonProvider. So all history page providers having they own selection provider set will be broken. Currently each seleciton in the Mercurial history view leads to two errors shown to the user. Reproducible: Always Steps to Reproduce: Stack: java.lang.ClassCastException: com.vectrace.MercurialEclipse.history.GraphLogTableViewer cannot be cast to org.eclipse.ui.part.PageBookView$SelectionProvider at org.eclipse.ui.part.PageBookView.postSelectionChanged(PageBookView.java:907) at org.eclipse.ui.part.PageBookView.access$3(PageBookView.java:905) at org.eclipse.ui.part.PageBookView$3.selectionChanged(PageBookView.java:172) at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:888) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175) at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:886) at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:1226) at org.eclipse.jface.viewers.StructuredViewer$5.widgetSelected(StructuredViewer.java:1251) at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:262) at org.eclipse.jface.util.OpenStrategy.access$5(OpenStrategy.java:256) at org.eclipse.jface.util.OpenStrategy$3.run(OpenStrategy.java:433)
Please ignore my ignorant bug report. I shouldn't write anyone anymore after 23:00. The code in question did some weird global selection provider hacks and now Eclipse just strikes back. mercurialeclipse/plugin/src/com/vectrace/MercurialEclipse/history/MercurialHistoryPage.java: // it looks crazy, but the fact is that the page site doesn't set global // selection provider, so we must have it set properly to support Properties view getSite().getPage().findView(IHistoryView.VIEW_ID).getSite().setSelectionProvider(provider); Sorry for the noise.
(In reply to comment #1) > Sorry for the noise. We still don't mind the reports, just in case we have broken stuff in 4.2 or 3.8. Better to be safe than sorry. PW
*** Bug 368058 has been marked as a duplicate of this bug. ***