aboutsummaryrefslogtreecommitdiff
path: root/models/issue.go
diff options
context:
space:
mode:
Diffstat (limited to 'models/issue.go')
-rw-r--r--models/issue.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/models/issue.go b/models/issue.go
index de87080a..b81f384b 100644
--- a/models/issue.go
+++ b/models/issue.go
@@ -314,8 +314,13 @@ func (issue *Issue) clearLabels(e *xorm.Session) (err error) {
return fmt.Errorf("getLabels: %v", err)
}
+ // NOTE: issue.removeLabel slices issue.Labels, so we need to create another slice to be unaffected.
+ labels := make([]*Label, len(issue.Labels))
for i := range issue.Labels {
- if err = issue.removeLabel(e, issue.Labels[i]); err != nil {
+ labels[i] = issue.Labels[i]
+ }
+ for i := range labels {
+ if err = issue.removeLabel(e, labels[i]); err != nil {
return fmt.Errorf("removeLabel: %v", err)
}
}