Mercurial > hg4j
diff src/org/tmatesoft/hg/core/HgAbstractCommand.java @ 322:d68dcb3b5f49
Propagate command's CancelSupport to low-level API. CancelSupport from context got priority over one from command
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Fri, 30 Sep 2011 08:00:04 +0200 |
parents | 41a778e3fd31 |
children |
line wrap: on
line diff
--- a/src/org/tmatesoft/hg/core/HgAbstractCommand.java Fri Sep 30 07:59:22 2011 +0200 +++ b/src/org/tmatesoft/hg/core/HgAbstractCommand.java Fri Sep 30 08:00:04 2011 +0200 @@ -49,12 +49,20 @@ return ProgressSupport.Factory.get(context); } - // shall not return null - protected CancelSupport getCancelSupport(Object context) { + // shall not return null if create is true + // CancelSupport from context, if any, takes precedence + protected CancelSupport getCancelSupport(Object context, boolean create) { + CancelSupport rv = CancelSupport.Factory.get(context, null); + if (rv != null) { + return rv; + } if (cancelHelper != null) { return cancelHelper; } - return CancelSupport.Factory.get(context); + if (create) { + return CancelSupport.Factory.get(null); + } + return null; } }