Community
Participate
Working Groups
Build Identifier: M20110210-1200 Generally it is not the case that invalid bookmarks result in a crash of the client. This happened only in a very specific situation. Typically the rule for invalid bookmarks is the following: If the bookmark is set to a page (folder page or table page) and this page does not exist anymore below its parent page, the first page below the bookmark's parent page is displayed. If the bookmark's parent page has no child pages, the check goes one level up in the tree to the next parent. The specific situation causing the error on startup is the following: If the bookmarked page is of type 'table page' and the type of the first child page of the bookmark's parent page in the new tree is 'folder page', a ClassCastException was thrown. As a result, if the user has set his startup view to such an invalid bookmark, the application will not correctly load its desktop and therefore the user cannot work with the application anymore. -> Solution: change signature of method bmLoadNodePage in BookmarkUtility class. Patch is attached. Reproducible: Always Steps to Reproduce: 1. Set your user's startup view to a table page where the first child node of the parent is of type folder page. 2. Remove the table page defined before as startup view. 3. On startup of the application, the ClassCastException occurs.
Created attachment 208249 [details] Patch for BookmarkUtility class Patch contains: - changed method signature of bmLoadNodePage since second argument was never used anyway - change all bmLoadNodePage method calls to conform to the new signature -> With these changes, the described ClassCastException cannot occur anymore
Created attachment 229711 [details] Patch for BookmarkUtility class
Comment on attachment 229711 [details] Patch for BookmarkUtility class new version for 3.9
Thanks for the patch. It makes sense to remove the unused argument. I updated the patch file to match the 3.9 implementation. No migration needed. A test is needed for BookmarkUtility.activateBookmark(IDesktop, Bookmark, boolean).
Works for me. Was not able to reproduce the bug. In my opinion the bug got fixed with the commits in BookmarkUtility over the last years. If it occurs again, please reopen this bug.
Bug does not occur anymore - Fix successfully verified.
Shipped with Eclipse Luna Release