# HG changeset patch # User Thinker K.F. Li # Date 1294739831 -28800 # Node ID bbd6bc0d079ab357e9b5ec8b599261a01b6511b8 # Parent df474448364e08b3ae67cbf0c1eeb78b444a009d Fix bug of removing layer. - It removes content of all layers. - Only specified layer should be removed. diff -r df474448364e -r bbd6bc0d079a pyink/domview.py --- a/pyink/domview.py Tue Jan 11 17:39:06 2011 +0800 +++ b/pyink/domview.py Tue Jan 11 17:57:11 2011 +0800 @@ -504,13 +504,19 @@ def rm_layer(self, layer_idx): layers = self._layers - for layer in layers: - for scene_node in layer.scenes: - scene_group_id = scene_node.getAttribute('ref') - scene_group_node = self.get_node(scene_group_id) - scene_group_node.parent().removeChild(scene_group_node) - - scene_node.parent().removeChild(scene_node) + layer = self._layers[layer_idx] + for scene_node in layer.scenes: + scene_group_id = scene_node.getAttribute('ref') + try: + scene_group_node = self.get_node(scene_group_id) + if scene_group_node.parent(): # keep from crashing + scene_group_node.parent().removeChild(scene_group_node) + pass + except: + pass + + if scene_node.parent(): # keep from crashing + scene_node.parent().removeChild(scene_node) pass pass