Commits

Yuya Nishihara committed b5c9389

postpone close-self patch because of missing manager layer

  • Participants
  • Parent commits d4fd300

Comments (0)

Files changed (1)

File close-self-by-wb.diff

 #      Wed Apr 10 23:33:35 2013 +0900
 # Node ID 8198d1f31cd0ea4b91c7962ab433e02c18931bd7
 # Parent c7dd2d760a94e8cb28619770f84ebe21db4a876b
-workbench: eliminate signal chain to close tab of destroyed repo
+XXX workbench: eliminate signal chain to close tab of destroyed repo
 
 Because the Workbench creates repo objects, it isn't necessary to ask each
 RepoWidget to emit close request on repositoryDestroyed.
 
+TODO: don't connect the same repository more than once
+
 diff --git a/tortoisehg/hgqt/repowidget.py b/tortoisehg/hgqt/repowidget.py
 --- a/tortoisehg/hgqt/repowidget.py
 +++ b/tortoisehg/hgqt/repowidget.py
          rw.progress.connect(lambda tp, p, i, u, tl:
              self.statusbar.progress(tp, p, i, u, tl, repo.root))
          rw.output.connect(self.log.output)
-@@ -921,12 +906,20 @@ class Workbench(QMainWindow):
+@@ -921,12 +906,21 @@ class Workbench(QMainWindow):
                      return
              try:
                  repo = thgrepo.repository(path=root)
-+                # XXX connect only once
++                # XXX connect only once; there should be a container of
++                # repositories and it will emit repositoryDestroyed(root).
 +                repo.repositoryDestroyed.connect(self._closeSenderRepo)
                  return self.addRepoTab(repo, bundle)
              except RepoError, e: