X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Frender.cpp;h=43ea5b6d82accc4cd8ee7fcd6197d7e09b00b344;hb=78af29bd0ee6cf83e3fbfb569d81e178dd2203fe;hp=5e397d1d2a35a13d368e259d05b5c4eb7c855cad;hpb=37600b4b217caa5e316984ec0b035c5e8f9698af;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/render.cpp b/synfig-studio/trunk/src/gtkmm/render.cpp index 5e397d1..43ea5b6 100644 --- a/synfig-studio/trunk/src/gtkmm/render.cpp +++ b/synfig-studio/trunk/src/gtkmm/render.cpp @@ -190,12 +190,7 @@ RenderSettings::~RenderSettings() void RenderSettings::set_entry_filename() { - String filename(canvas_interface_->get_canvas()->get_file_name()); - - // if the basename of the filename has an extension, remove it - String base = basename(filename); - if(find(base.begin(),base.end(),'.')!=base.end()) - filename = String(filename.begin(), filename.begin()+filename.find_last_of('.')); + String filename(filename_sans_extension(canvas_interface_->get_canvas()->get_file_name())); // if this isn't the root canvas, append () to the filename etl::handle canvas = canvas_interface_->get_canvas(); @@ -255,11 +250,19 @@ RenderSettings::on_render_pressed() { try { - String ext=String(find(filename.begin(),filename.end(),'.')+1,filename.end()); + String ext(filename_extension(filename)); + if (ext.size()) ext=ext.substr(1); // skip initial '.' + synfig::info("render target filename: '%s'; extension: '%s'", filename.c_str(), ext.c_str()); if(Target::ext_book().count(ext)) + { target_name=Target::ext_book()[ext]; + synfig::info("'%s' is a known extension - using target '%s'", ext.c_str(), target_name.c_str()); + } else + { target_name=ext; + synfig::info("unknown extension"); + } } catch(std::runtime_error x) {