~vcs-imports/egit/master

Viewing all changes in revision 4169.

  • Committer: Thomas Wolf
  • Date: 2019-02-20 11:18:43 UTC
  • Revision ID: git-v1:e82658eeeee9501b5ef21c9e0e987449dc1a0792
Don't trigger decorations for getting an image of a RepositoryTreeNode

Clicking on a RepositoryTreeNode in the repositories view shows the
selected item (or a summary if several are selected) in the status
bar. It shows the icon and a description text obtained from
RepositoryTreeNodeLabelProvider.getDescription(). The latter doesn't
trigger decorations, but getting the image did.

Decorations for repository tree nodes can be expensive to calculate,
in particular the branch status (N commit ahead/behind upstream). Even
if they run in the background, we should avoid running them needlessly.

Since we don't decorate icons for repository tree nodes anyway (we do
this synchronously in the label provider to avoid flickering), shortcut
to the plain label provider directly and skip the decorator completely
in getImage().

Without this, each selection change (such as a simple click on a node)
in the repositories view triggered a re-evaluation of the decorations
of that node, which is simply not necessary.

Bug: 544600
Change-Id: I124d4c68ba4fcb31a3f1623ff35f669eb1976101
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: