# HG changeset patch # User Thinker K.F. Li # Date 1317391648 -28800 # Node ID 9aff42a7e2b9c0f2116536f4aef8ef026bd37407 # Parent 199ba528fd4a5867dc4dc4a51c87cc758715c831 Fix issue of add/remove a frame at a scene before all key frames of a layer. When you added or removed a frame at a scene before all key frames of a layer, frameline was not updated correctly. It seems nothing happened, but domview is updated. This changeset fix this issue by correcting logic for boundary case. diff -r 199ba528fd4a -r 9aff42a7e2b9 pyink/frameline.py --- a/pyink/frameline.py Fri Sep 30 14:17:35 2011 +0800 +++ b/pyink/frameline.py Fri Sep 30 22:07:28 2011 +0800 @@ -694,19 +694,22 @@ else: pos = pos + 1 pass - - while pos < len(self._keys): - key = self._keys[pos] - key.idx = key.idx - 1 - pos = pos + 1 - pass + pass + else: + pos = 0 + pass + + while pos < len(self._keys): + key = self._keys[pos] + key.idx = key.idx - 1 + pos = pos + 1 pass self._draw_all_frames() self._draw_active_frame() pass - ## \brief Inser a frame before given frame. + ## \brief Insert a frame before given frame. # # All frame at and after given frame position move to tail in one position. # It means to add one to positions of all key frames at/after given frame. @@ -718,12 +721,15 @@ if key.idx != idx: pos = pos + 1 pass - - while pos < len(self._keys): - key = self._keys[pos] - key.idx = key.idx + 1 - pos = pos + 1 - pass + pass + else: + pos = 0 + pass + + while pos < len(self._keys): + key = self._keys[pos] + key.idx = key.idx + 1 + pos = pos + 1 pass self._draw_all_frames()