docstring const msg =
bformat(_("Branch \"%1$s\" does not exist."), branchName);
dr.setMessage(msg);
- } else {
- branch->setSelected(func.action() == LFUN_BRANCH_ACTIVATE);
+ break;
+ }
+ bool activate = func.action() == LFUN_BRANCH_ACTIVATE;
+ if (branch->isSelected() != activate) {
+ branch->setSelected(activate);
+ markDirty();
dr.setError(false);
dr.screenUpdate(Update::Force);
dr.forceBufferUpdate();
}
case LFUN_BRANCH_ACTIVATE:
case LFUN_BRANCH_DEACTIVATE: {
- // FIXME: I do not like this cast, but have no other idea...
- Buffer const * buf = buffer().masterBuffer();
- BranchList const & branchlist = buf->params().branchlist();
- Branch * our_branch = const_cast<Branch *>(branchlist.find(params_.branch));
+ Buffer * buf = const_cast<Buffer *>(buffer().masterBuffer());
+ BranchList & branchlist = buf->params().branchlist();
+ Branch * our_branch = branchlist.find(params_.branch);
if (!our_branch) {
// child only?
our_branch = buffer().params().branchlist().find(params_.branch);
if (!our_branch)
break;
+ buf = &buffer();
}
bool const activate = (cmd.action() == LFUN_BRANCH_ACTIVATE);
if (our_branch->isSelected() != activate) {
our_branch->setSelected(activate);
+ buf->markDirty();
cur.forceBufferUpdate();
}
break;