X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=flower%2Finterval-set.cc;h=84bde76a9cfe2a00d9cba2879d2f74f5362249e9;hb=21bdfb67d92cf1f0b25329d5c1194dcdb66a29f0;hp=2073afda61b5f587e0fb0eef399e3c869a63b55a;hpb=c2adb6159c233a9ef3f8a22ab25342e15bd10c8b;p=lilypond.git diff --git a/flower/interval-set.cc b/flower/interval-set.cc index 2073afda61..84bde76a9c 100644 --- a/flower/interval-set.cc +++ b/flower/interval-set.cc @@ -1,9 +1,20 @@ /* - interval-set.hh -- implement Interval_set + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 2004--2012 Han-Wen Nienhuys - (c) 2004 Han-Wen Nienhuys + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #include "interval-set.hh" @@ -40,26 +51,26 @@ Interval_set::remove_interval (Interval rm) s.intersect (allowed_regions_[i]); if (!s.is_empty ()) - { - Interval before = allowed_regions_[i]; - Interval after = allowed_regions_[i]; + { + Interval before = allowed_regions_[i]; + Interval after = allowed_regions_[i]; - before[RIGHT] = s[LEFT]; - after[LEFT] = s[RIGHT]; + before[RIGHT] = s[LEFT]; + after[LEFT] = s[RIGHT]; - if (!before.is_empty () && before.length () > 0.0) - { - allowed_regions_.insert (before, i); - i++; - } - allowed_regions_.erase (allowed_regions_.begin () + i); - if (!after.is_empty () && after.length () > 0.0) - { - allowed_regions_.insert (after, i); - i++; - } - } + if (!before.is_empty () && before.length () > 0.0) + { + allowed_regions_.insert (allowed_regions_.begin () + (long)i, before); + i++; + } + allowed_regions_.erase (allowed_regions_.begin () + (long)i); + if (!after.is_empty () && after.length () > 0.0) + { + allowed_regions_.insert (allowed_regions_.begin () + (long)i, after); + i++; + } + } else - i++; + i++; } }