X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fapp.cpp;h=27a7373cb5ae6d75bbbb54a681b64943d7a3c0e9;hb=862376ea15b9fe602e787b03652b83a49aa28cd1;hp=69aa23715fdb376afb9f7fd2a35c86442d1fbd51;hpb=e462a2e9e6c29d48dfc4cfe3c1ba55e1e728e32f;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/app.cpp b/synfig-studio/trunk/src/gtkmm/app.cpp index 69aa237..27a7373 100644 --- a/synfig-studio/trunk/src/gtkmm/app.cpp +++ b/synfig-studio/trunk/src/gtkmm/app.cpp @@ -7,6 +7,7 @@ ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley ** Copyright (c) 2007, 2008 Chris Moore +** Copyright (c) 2008 Gerald Young ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -1349,12 +1350,13 @@ App::set_recent_file_window_size(etl::handle instance) 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; @@ -1372,6 +1374,11 @@ App::set_recent_file_window_size(etl::handle instance) 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); @@ -1403,6 +1410,9 @@ App::set_recent_file_window_size(etl::handle instance) current = separator+1; } + + if (shown_non_root && !seen_root) + instance->find_canvas_view(instance->get_canvas())->hide(); } void