return;
synfig::String::size_type current=0;
+ bool seen_root(false), shown_non_root(false);
while(current != synfig::String::npos)
{
// find end of first field (canvas) or return
synfig::String::size_type separator = canvas_window_size.find_first_of(' ', current);
- if(separator == synfig::String::npos) return;
+ if(separator == synfig::String::npos) break;
// find the canvas
synfig::Canvas::Handle canvas;
CanvasView::Handle canvasview = instance->find_canvas_view(canvas);
canvasview->present();
+ if (canvas->is_root())
+ seen_root = true;
+ else
+ shown_non_root = true;
+
// check that we have the tab character the ends this canvas' data or return
current = separator+1;
separator = canvas_window_size.find_first_of('\t', current);
current = separator+1;
}
+
+ if (shown_non_root && !seen_root)
+ instance->find_canvas_view(instance->get_canvas())->hide();
}
void