From 41f41f04d93c2b58d3c2f9464f3603251ca5575e Mon Sep 17 00:00:00 2001 From: Robin Rosenberg Date: Fri, 11 Jul 2008 00:40:48 +0200 Subject: [PATCH] Change GitHistoryPage to listen on any repository. This makes listening simpler. Signed-off-by: Shawn O. Pearce --- .../org/spearce/egit/ui/internal/history/GitHistoryPage.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/GitHistoryPage.java b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/GitHistoryPage.java index 418f3b64..e3ff8d45 100644 --- a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/GitHistoryPage.java +++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/GitHistoryPage.java @@ -234,11 +234,16 @@ public class GitHistoryPage extends HistoryPage implements RepositoryListener { attachContextMenu(commentViewer.getControl()); attachContextMenu(fileViewer.getControl()); layout(); + + Repository.addAnyRepositoryChangedListener(this); } private Runnable refschangedRunnable; public void refsChanged(final RefsChangedEvent e) { + if (e.getRepository() != db) + return; + if (getControl().isDisposed()) return; @@ -480,6 +485,7 @@ public class GitHistoryPage extends HistoryPage implements RepositoryListener { } public void dispose() { + Repository.removeAnyRepositoryChangedListener(this); cancelRefreshJob(); if (popupMgr != null) { for (final IContributionItem i : popupMgr.getItems()) { @@ -539,9 +545,6 @@ public class GitHistoryPage extends HistoryPage implements RepositoryListener { revObjectSelectionProvider.setActiveRepository(null); cancelRefreshJob(); - if (db != null) - db.removeRepositoryChangedListener(this); - if (graph == null) return false; @@ -570,8 +573,6 @@ public class GitHistoryPage extends HistoryPage implements RepositoryListener { if (db == null) return false; - db.addRepositoryChangedListener(this); - final AnyObjectId headId; try { headId = db.resolve("HEAD"); -- 2.11.4.GIT