Skip to content

Drop down item of resource scope filters of the history page no longer updated after... #85

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wahlbrink opened this issue Mar 12, 2025 · 2 comments
Labels
bug Something isn't working

Comments

@wahlbrink
Copy link

Version

7.2

Operating System

Windows

Eclipse version

2025-03

Bug description

The drop down item of the resource scope filters (in Repositoy, in Project, ...) of the Git history page is no longer updated after switching to another non-Git history page (and back).

Actual behavior

The icon and tooltip of the toolbar item is no longer updated/correct.

Expected behavior

The icon and tooltip of the toolbar item should always be up-to-date.

Relevant log output

Other information

No response

@wahlbrink wahlbrink added the bug Something isn't working label Mar 12, 2025
@wahlbrink
Copy link
Author

wahlbrink commented Mar 12, 2025

The problem is that the lifecycle of a history toolbar is different from the lifecycle of the history page. The toolbar (action bar) is disposed when switching to another history page, but not the history page.

This is not taken into account in the Git history page / the FilterAction. If the toolbar is disposed, currently GitHistoryPageActions$FilterAction.dispose() is called and removes the required listeners, but the FilterAction is reused for the next toolbar.

GitHistoryPage$GitHistoryPageActions$ShowFilterAction(EventManager).removeListenerObject(Object) line: 121
GitHistoryPage$GitHistoryPageActions$ShowFilterAction(AbstractAction).removePropertyChangeListener(IPropertyChangeListener) line: 83
GitHistoryPage$GitHistoryPageActions$FilterAction.dispose() line: 397
ActionContributionItem.handleWidgetDispose(Event) line: 476
ActionContributionItem.lambda$5(Event) line: 449
Lambda.handleEvent(Event) line: not available
EventTable.sendEvent(Event) line: 91
Display.sendEvent(EventTable, Event) line: 4321
ToolItem(Widget).sendEvent(Event) line: 1208
ToolItem(Widget).sendEvent(int, Event, boolean) line: 1232
ToolItem(Widget).sendEvent(int) line: 1213
ToolItem(Widget).release(boolean) line: 890
ToolItem(Widget).dispose() line: 479
ToolBarManager.update(boolean) line: 324
ActionBars.updateActionBars() line: 68
GenericHistoryView(PageBookView).showPageRec(PageBookView$PageRec) line: 929
GenericHistoryView.showPageRec(PageBookView$PageRec) line: 576
GenericHistoryView(PageBookView).partActivated(IWorkbenchPart) line: 698
GenericHistoryView.showHistoryPageFor(Object, boolean, boolean, IHistoryPageSource) line: 625
GenericHistoryView.showLastSelectedElement() line: 564
GenericHistoryView$1.selectionChanged(IWorkbenchPart, ISelection) line: 406
SelectionService.notifyListeners(IWorkbenchPart, ISelection, ListenerList) line: 266

@wahlbrink
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant