From 0d77fe91168a7a76fc44d14a90e611db90dd79e2 Mon Sep 17 00:00:00 2001 From: ice0 Date: Aug 30 2018 10:04:43 +0000 Subject: Fixed GCC 9 warnings (catching polymorphic type by value) --- diff --git a/synfig-core/src/synfig/canvas.cpp b/synfig-core/src/synfig/canvas.cpp index 06916ae..69e51ec 100644 --- a/synfig-core/src/synfig/canvas.cpp +++ b/synfig-core/src/synfig/canvas.cpp @@ -539,7 +539,7 @@ Canvas::add_value_node(ValueNode::Handle x, const String &id) throw Exception::IDAlreadyExists(id); } - catch(Exception::IDNotFound) + catch(Exception::IDNotFound&) { x->set_id(id); @@ -571,7 +571,7 @@ Canvas::rename_value_node(ValueNode::Handle x, const String &id) throw Exception::IDNotFound("rename_value_node"); throw Exception::IDAlreadyExists(id); } - catch(Exception::IDNotFound) + catch(Exception::IDNotFound&) { x->set_id(id); @@ -1014,7 +1014,7 @@ Canvas::add_child_canvas(Canvas::Handle child_canvas, const synfig::String& id) find_canvas(id, warnings); throw Exception::IDAlreadyExists(id); } - catch(Exception::IDNotFound) + catch(Exception::IDNotFound&) { if(child_canvas->is_inline()) child_canvas->is_inline_=false; diff --git a/synfig-core/src/synfig/context.cpp b/synfig-core/src/synfig/context.cpp index 2318357..2511b72 100644 --- a/synfig-core/src/synfig/context.cpp +++ b/synfig-core/src/synfig/context.cpp @@ -393,7 +393,7 @@ Context::accelerated_render(Surface *surface,int quality, const RendDesc &rendde #endif // SYNFIG_PROFILE_LAYERS return ret; } - catch(std::bad_alloc) + catch(std::bad_alloc&) { synfig::error("Context::accelerated_render(): Layer \"%s\" threw a bad_alloc exception!",(*context)->get_name().c_str()); #ifdef _DEBUG @@ -480,7 +480,7 @@ Context::accelerated_cairorender(cairo_t *cr,int quality, const RendDesc &rendde #endif // SYNFIG_PROFILE_LAYERS return ret; } - catch(std::bad_alloc) + catch(std::bad_alloc&) { synfig::error("Context::accelerated_cairorender(): Layer \"%s\" threw a bad_alloc exception!",(*context)->get_name().c_str()); #ifdef _DEBUG diff --git a/synfig-core/src/synfig/keyframe.cpp b/synfig-core/src/synfig/keyframe.cpp index 8e3400d..4021f0f 100644 --- a/synfig-core/src/synfig/keyframe.cpp +++ b/synfig-core/src/synfig/keyframe.cpp @@ -280,5 +280,5 @@ KeyframeList::insert_time(const Time& location, const Time& delta) } sync(); } - catch(Exception::NotFound) { } + catch(Exception::NotFound&) { } } diff --git a/synfig-core/src/synfig/loadcanvas.cpp b/synfig-core/src/synfig/loadcanvas.cpp index de29a48..f7b99eb 100644 --- a/synfig-core/src/synfig/loadcanvas.cpp +++ b/synfig-core/src/synfig/loadcanvas.cpp @@ -1990,15 +1990,15 @@ CanvasParser::parse_linkable_value_node(xmlpp::Element *element,Canvas::Handle c // printf(" <%s> set link %d (%s) using exported value\n", element->get_name().c_str(), index, name.c_str()); } - catch (Exception::BadLinkName) + catch (Exception::BadLinkName&) { warning(element, strprintf("Bad link name '%s'", name.c_str())); } - catch(Exception::IDNotFound) + catch(Exception::IDNotFound&) { error(element,"Unable to resolve " + id); } - catch(Exception::FileNotFound) + catch(Exception::FileNotFound&) { error(element,"Unable to open file referenced in " + id); } @@ -2088,7 +2088,7 @@ CanvasParser::parse_linkable_value_node(xmlpp::Element *element,Canvas::Handle c // printf(" <%s> set link %d (%s) using inline value\n", element->get_name().c_str(), index, child_name.c_str()); } - catch(Exception::BadLinkName) + catch(Exception::BadLinkName&) { warning(child, strprintf("Bad link name for <%s>", element->get_name().c_str())); } @@ -2270,7 +2270,7 @@ CanvasParser::parse_static_list(xmlpp::Element *element,Canvas::Handle canvas) { list_entry=canvas->surefind_value_node(id); } - catch(Exception::IDNotFound) + catch(Exception::IDNotFound&) { error(child,"\"use\" attribute in references unknown ID -- "+id); continue; @@ -2533,7 +2533,7 @@ CanvasParser::parse_dynamic_list(xmlpp::Element *element,Canvas::Handle canvas) if(PlaceholderValueNode::Handle::cast_dynamic(list_entry.value_node)) throw Exception::IDNotFound("parse_dynamic_list()"); } - catch(Exception::IDNotFound) + catch(Exception::IDNotFound&) { error(child,"\"use\" attribute in references unknown ID -- "+id); continue; @@ -2705,13 +2705,13 @@ CanvasParser::parse_value_node(xmlpp::Element *element,Canvas::Handle canvas) // If there is already a value_node in the list // with the same ID, then that is an error try { canvas->add_value_node(value_node,id); } - catch(Exception::BadLinkName) + catch (Exception::BadLinkName&) { warning(element,strprintf(_("Bad ID \"%s\""),id.c_str())); printf("%s:%d parse_value_node done bad id\n", __FILE__, __LINE__); return value_node; } - catch(Exception::IDAlreadyExists) + catch (Exception::IDAlreadyExists&) { error(element,strprintf(_("Duplicate ID \"%s\""),id.c_str())); printf("%s:%d parse_value_node done dup id\n", __FILE__, __LINE__); @@ -2937,7 +2937,7 @@ CanvasParser::parse_layer(xmlpp::Element *element,Canvas::Handle canvas) if (!processed) layer->connect_dynamic_param(param_name,value_node); } - catch(Exception::IDNotFound) + catch(Exception::IDNotFound&) { error(child,strprintf(_("Unknown ID (%s) referenced in parameter \"%s\""),str.c_str(), param_name.c_str())); } @@ -3507,11 +3507,11 @@ CanvasParser::parse_from_file_as(const FileSystem::Identifier &identifier,const throw runtime_error(String(" * ") + _("Can't find linked file") + " \"" + identifier.filename + "\""); } } - catch(Exception::BadLinkName) { synfig::error("BadLinkName Thrown"); } - catch(Exception::BadType) { synfig::error("BadType Thrown"); } - catch(Exception::FileNotFound) { synfig::error("FileNotFound Thrown"); } - catch(Exception::IDNotFound) { synfig::error("IDNotFound Thrown"); } - catch(Exception::IDAlreadyExists) { synfig::error("IDAlreadyExists Thrown"); } + catch(Exception::BadLinkName&) { synfig::error("BadLinkName Thrown"); } + catch(Exception::BadType&) { synfig::error("BadType Thrown"); } + catch(Exception::FileNotFound&) { synfig::error("FileNotFound Thrown"); } + catch(Exception::IDNotFound&) { synfig::error("IDNotFound Thrown"); } + catch(Exception::IDAlreadyExists&) { synfig::error("IDAlreadyExists Thrown"); } catch(xmlpp::internal_error &x) { if (!strcmp(x.what(), "Couldn't create parsing context")) @@ -3563,11 +3563,11 @@ CanvasParser::parse_as(xmlpp::Element* node,String &errors) return canvas; } } - catch(Exception::BadLinkName) { synfig::error("BadLinkName Thrown"); } - catch(Exception::BadType) { synfig::error("BadType Thrown"); } - catch(Exception::FileNotFound) { synfig::error("FileNotFound Thrown"); } - catch(Exception::IDNotFound) { synfig::error("IDNotFound Thrown"); } - catch(Exception::IDAlreadyExists) { synfig::error("IDAlreadyExists Thrown"); } + catch(Exception::BadLinkName&) { synfig::error("BadLinkName Thrown"); } + catch(Exception::BadType&) { synfig::error("BadType Thrown"); } + catch(Exception::FileNotFound&) { synfig::error("FileNotFound Thrown"); } + catch(Exception::IDNotFound&) { synfig::error("IDNotFound Thrown"); } + catch(Exception::IDAlreadyExists&) { synfig::error("IDAlreadyExists Thrown"); } catch(xmlpp::internal_error &x) { if (!strcmp(x.what(), "Couldn't create parsing context")) diff --git a/synfig-core/src/synfig/target_cairo.cpp b/synfig-core/src/synfig/target_cairo.cpp index 6f30fc3..0b862b5 100644 --- a/synfig-core/src/synfig/target_cairo.cpp +++ b/synfig-core/src/synfig/target_cairo.cpp @@ -184,7 +184,7 @@ synfig::Target_Cairo::render(ProgressCallback *cb) if(cb)cb->error(_("Caught string :")+str); return false; } - catch(std::bad_alloc) + catch(std::bad_alloc&) { if(cb)cb->error(_("Ran out of memory (Probably a bug)")); return false; diff --git a/synfig-core/src/synfig/target_cairo_tile.cpp b/synfig-core/src/synfig/target_cairo_tile.cpp index b282a0b..69b2929 100644 --- a/synfig-core/src/synfig/target_cairo_tile.cpp +++ b/synfig-core/src/synfig/target_cairo_tile.cpp @@ -263,7 +263,7 @@ synfig::Target_Cairo_Tile::render(ProgressCallback *cb) if(cb)cb->error(_("Caught string :")+str); return false; } - catch(std::bad_alloc) + catch(std::bad_alloc&) { if(cb)cb->error(_("Ran out of memory (Probably a bug)")); return false; diff --git a/synfig-core/src/synfig/target_scanline.cpp b/synfig-core/src/synfig/target_scanline.cpp index e1e02ff..d5c9e1e 100644 --- a/synfig-core/src/synfig/target_scanline.cpp +++ b/synfig-core/src/synfig/target_scanline.cpp @@ -472,7 +472,7 @@ synfig::Target_Scanline::render(ProgressCallback *cb) if(cb)cb->error(_("Caught string :")+str); return false; } - catch(std::bad_alloc) + catch(std::bad_alloc&) { if(cb)cb->error(_("Ran out of memory (Probably a bug)")); return false; diff --git a/synfig-core/src/synfig/target_tile.cpp b/synfig-core/src/synfig/target_tile.cpp index 3cfce7e..c3b9462 100644 --- a/synfig-core/src/synfig/target_tile.cpp +++ b/synfig-core/src/synfig/target_tile.cpp @@ -457,7 +457,7 @@ synfig::Target_Tile::render(ProgressCallback *cb) if(cb)cb->error(_("Caught string :")+str); return false; } - catch(std::bad_alloc) + catch(std::bad_alloc&) { if(cb)cb->error(_("Ran out of memory (Probably a bug)")); return false; diff --git a/synfig-core/src/synfig/valuenode.cpp b/synfig-core/src/synfig/valuenode.cpp index f46ad24..8ab077b 100644 --- a/synfig-core/src/synfig/valuenode.cpp +++ b/synfig-core/src/synfig/valuenode.cpp @@ -428,7 +428,7 @@ ValueNodeList::surefind(const String &id) { value_node=find(id, true); } - catch(Exception::IDNotFound) + catch(Exception::IDNotFound&) { value_node=PlaceholderValueNode::create(); value_node->set_id(id); @@ -477,7 +477,7 @@ ValueNodeList::add(ValueNode::Handle value_node) return false; } - catch(Exception::IDNotFound) + catch(Exception::IDNotFound&) { push_back(value_node); return true; diff --git a/synfig-core/src/synfig/valuenodes/valuenode_animatedinterface.cpp b/synfig-core/src/synfig/valuenodes/valuenode_animatedinterface.cpp index a463f6f..c9639af 100644 --- a/synfig-core/src/synfig/valuenodes/valuenode_animatedinterface.cpp +++ b/synfig-core/src/synfig/valuenodes/valuenode_animatedinterface.cpp @@ -348,7 +348,7 @@ public: virtual WaypointList::iterator new_waypoint(Time t, ValueBase value) { - try { animated.find(t); throw Exception::BadTime(_("A waypoint already exists at this point in time")); } catch(Exception::NotFound) { }; + try { animated.find(t); throw Exception::BadTime(_("A waypoint already exists at this point in time")); } catch(Exception::NotFound&) { }; Waypoint waypoint(value, t); waypoint.set_parent_value_node(&animated.node()); @@ -369,7 +369,7 @@ public: virtual WaypointList::iterator new_waypoint(Time t, ValueNode::Handle value_node) { - try { animated.find(t); throw Exception::BadTime(_("A waypoint already exists at this point in time")); } catch(Exception::NotFound) { }; + try { animated.find(t); throw Exception::BadTime(_("A waypoint already exists at this point in time")); } catch(Exception::NotFound&) { }; Waypoint waypoint(value_node,t); waypoint.set_parent_value_node(&animated.node()); @@ -684,7 +684,7 @@ public: // Make sure we are getting data of the correct type //if(data.type!=type) // return waypoint_list_type::iterator(); - try { animated.find(t); throw Exception::BadTime(_("A waypoint already exists at this point in time")); } catch(Exception::NotFound) { }; + try { animated.find(t); throw Exception::BadTime(_("A waypoint already exists at this point in time")); } catch(Exception::NotFound&) { }; Waypoint waypoint(value,t); waypoint.set_parent_value_node(&animated.node()); @@ -702,7 +702,7 @@ public: // Make sure we are getting data of the correct type //if(data.type!=type) // return waypoint_list_type::iterator(); - try { animated.find(t); throw Exception::BadTime(_("A waypoint already exists at this point in time")); } catch(Exception::NotFound) { }; + try { animated.find(t); throw Exception::BadTime(_("A waypoint already exists at this point in time")); } catch(Exception::NotFound&) { }; Waypoint waypoint(value_node,t); waypoint.set_parent_value_node(&animated.node()); @@ -774,7 +774,7 @@ public: // Make sure we are getting data of the correct type //if(data.type!=type) // return waypoint_list_type::iterator(); - try { animated.find(t); throw Exception::BadTime(_("A waypoint already exists at this point in time")); } catch(Exception::NotFound) { }; + try { animated.find(t); throw Exception::BadTime(_("A waypoint already exists at this point in time")); } catch(Exception::NotFound&) { }; Waypoint waypoint(value,t); @@ -793,7 +793,7 @@ public: // Make sure we are getting data of the correct type //if(data.type!=type) // return waypoint_list_type::iterator(); - try { animated.find(t); throw Exception::BadTime(_("A waypoint already exists at this point in time")); } catch(Exception::NotFound) { }; + try { animated.find(t); throw Exception::BadTime(_("A waypoint already exists at this point in time")); } catch(Exception::NotFound&) { }; Waypoint waypoint(value_node,t); waypoint.set_parent_value_node(&animated.node()); @@ -1272,7 +1272,7 @@ ValueNode_AnimatedInterfaceConst::insert_time(const Time& location, const Time& } animated_changed(); } - catch(Exception::NotFound) { } + catch(Exception::NotFound&) { } } void diff --git a/synfig-core/src/synfig/valuenodes/valuenode_dynamiclist.cpp b/synfig-core/src/synfig/valuenodes/valuenode_dynamiclist.cpp index 56bb8ed..bcb5756 100644 --- a/synfig-core/src/synfig/valuenodes/valuenode_dynamiclist.cpp +++ b/synfig-core/src/synfig/valuenodes/valuenode_dynamiclist.cpp @@ -952,7 +952,7 @@ ValueNode_DynamicList::insert_time(const Time& location, const Time& delta) iter->set_time(iter->get_time()+delta); } } - catch(Exception::NotFound) { } + catch(Exception::NotFound&) { } } changed(); } diff --git a/synfig-studio/src/synfigapp/actions/activepointsetsmart.cpp b/synfig-studio/src/synfigapp/actions/activepointsetsmart.cpp index dccf577..71d84a7 100644 --- a/synfig-studio/src/synfigapp/actions/activepointsetsmart.cpp +++ b/synfig-studio/src/synfigapp/actions/activepointsetsmart.cpp @@ -315,7 +315,7 @@ Action::ActivepointSetSmart::prepare() return; } catch(int){} - catch(Exception::NotFound){} + catch(Exception::NotFound&){} try { @@ -340,7 +340,7 @@ Action::ActivepointSetSmart::prepare() return; } catch(int){} - catch(Exception::NotFound){} + catch(Exception::NotFound&){} try { @@ -362,7 +362,7 @@ Action::ActivepointSetSmart::prepare() return; } catch(int){} - catch(Exception::NotFound){} + catch(Exception::NotFound&){} throw Error(_("Unable to determine how to proceed. This is a bug.")); } diff --git a/synfig-studio/src/synfigapp/actions/keyframeset.cpp b/synfig-studio/src/synfigapp/actions/keyframeset.cpp index e5b7559..6c0e086 100644 --- a/synfig-studio/src/synfigapp/actions/keyframeset.cpp +++ b/synfig-studio/src/synfigapp/actions/keyframeset.cpp @@ -178,7 +178,7 @@ Action::KeyframeSet::scale_activepoints(const synfigapp::ValueDesc& value_desc,c // we need to abort //throw Exception::BadTime(_("Activepoint Conflict")); } - catch(Exception::NotFound) { } + catch(Exception::NotFound&) { } } int ret(0); @@ -237,7 +237,7 @@ Action::KeyframeSet::scale_waypoints(const synfigapp::ValueDesc& value_desc,cons //synfig::info(_("new_begin: %s, new_end: %s"),new_begin.get_string().c_str(),new_end.get_string().c_str()); //throw Exception::BadTime(strprintf(_("Waypoint Conflict, old: %s, new: %s"),(*iter)->get_time().get_string().c_str(),new_time.get_string().c_str())); } - catch(Exception::NotFound) { } + catch(Exception::NotFound&) { } } int ret(0); @@ -394,7 +394,7 @@ Action::KeyframeSet::perform() get_canvas()->keyframe_list().find(new_time); throw Error(_("Cannot change keyframe time because another keyframe already exists with that time.")); } - catch(Exception::NotFound) { } + catch(Exception::NotFound&) { } } try { keyframe_next=get_canvas()->keyframe_list().find_next(old_time)->get_time(); } catch(...) { keyframe_next=Time::end(); } diff --git a/synfig-studio/src/synfigapp/actions/valuedescset.cpp b/synfig-studio/src/synfigapp/actions/valuedescset.cpp index 80463f6..b7eb49e 100644 --- a/synfig-studio/src/synfigapp/actions/valuedescset.cpp +++ b/synfig-studio/src/synfigapp/actions/valuedescset.cpp @@ -1066,7 +1066,7 @@ Action::ValueDescSet::prepare() // value_node->find throws an exception // when no waypoint is found at given time waypoint=*iter; - }catch(Exception::NotFound) + }catch(Exception::NotFound&) { waypoint=value_node->new_waypoint_at_time(time); Interpolation inter=value_node->get_interpolation(); diff --git a/synfig-studio/src/synfigapp/actions/valuenodeadd.cpp b/synfig-studio/src/synfigapp/actions/valuenodeadd.cpp index 9251673..4fd22bc 100644 --- a/synfig-studio/src/synfigapp/actions/valuenodeadd.cpp +++ b/synfig-studio/src/synfigapp/actions/valuenodeadd.cpp @@ -128,7 +128,7 @@ Action::ValueNodeAdd::perform() { get_canvas()->add_value_node(value_node,name); } - catch(Exception::IDAlreadyExists) + catch (Exception::IDAlreadyExists&) { throw Error(_("Another exported ValueBase with this name already exists")); }