From: Robin Rosenberg Date: Thu, 10 Jul 2008 22:40:48 GMT Subject: [EGIT PATCH 6/9] Change GitHistoryPage to listen on any repository. Message-ID: <1215729651-26781-7-git-send-email-robin.rosenberg@dewire.com> In-Reply-To: <1215729651-26781-6-git-send-email-robin.rosenberg@dewire.com> This makes listening simpler. --- .../egit/ui/internal/history/GitHistoryPage.java | 11 ++++++----- 1 files 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 418f3b6..e3ff8d4 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"); -- 1.5.6.2.220.g44701