X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fsp-filter.cpp;h=150033895202aea50541345839874ed4431463a5;hb=57eb32794c2df43d60ee8f0a9aa8576567358ce6;hp=9d2abcddf53e341f57593cabe3b9646fcac493f6;hpb=55a7b883cd44d9d59767e06d857d9d364f9e996c;p=inkscape.git diff --git a/src/sp-filter.cpp b/src/sp-filter.cpp index 9d2abcddf..150033895 100644 --- a/src/sp-filter.cpp +++ b/src/sp-filter.cpp @@ -28,6 +28,8 @@ using std::pair; #include "sp-filter-reference.h" #include "uri.h" #include "xml/repr.h" +#include +#include #define SP_MACROS_SILENT #include "macros.h" @@ -109,8 +111,9 @@ sp_filter_init(SPFilter *filter) filter->primitiveUnits_set = FALSE; filter->_renderer = NULL; - - filter->_image_name = map(); + + filter->_image_name = new std::map; + filter->_image_name->clear(); filter->filterRes = NumberOptNumber(); @@ -167,6 +170,7 @@ sp_filter_release(SPObject *object) } filter->modified_connection.~connection(); + delete filter->_image_name; if (((SPObjectClass *) filter_parent_class)->release) ((SPObjectClass *) filter_parent_class)->release(object); @@ -242,7 +246,7 @@ sp_filter_set(SPObject *object, unsigned int key, gchar const *value) } break; default: - // See if any parents need this value. + // See if any parents need this value. if (((SPObjectClass *) filter_parent_class)->set) { ((SPObjectClass *) filter_parent_class)->set(object, key, value); } @@ -362,7 +366,7 @@ filter_ref_changed(SPObject *old_ref, SPObject *ref, SPFilter *filter) if ( SP_IS_FILTER(ref) && ref != filter ) { - filter->modified_connection = + filter->modified_connection = ref->connectModified(sigc::bind(sigc::ptr_fun(&filter_ref_modified), filter)); } @@ -370,7 +374,7 @@ filter_ref_changed(SPObject *old_ref, SPObject *ref, SPFilter *filter) } static void -filter_ref_modified(SPObject *href, guint flags, SPFilter *filter) +filter_ref_modified(SPObject */*href*/, guint /*flags*/, SPFilter *filter) { SP_OBJECT(filter)->requestModified(SP_OBJECT_MODIFIED_FLAG); } @@ -454,9 +458,9 @@ int sp_filter_primitive_count(SPFilter *filter) { int sp_filter_get_image_name(SPFilter *filter, gchar const *name) { gchar *name_copy = strdup(name); - map::iterator result = filter->_image_name.find(name_copy); + map::iterator result = filter->_image_name->find(name_copy); free(name_copy); - if (result == filter->_image_name.end()) return -1; + if (result == filter->_image_name->end()) return -1; else return (*result).second; } @@ -464,7 +468,8 @@ int sp_filter_set_image_name(SPFilter *filter, gchar const *name) { int value = filter->_image_number_next; filter->_image_number_next++; gchar *name_copy = strdup(name); - pair::iterator,bool> ret = filter->_image_name.insert(pair(name_copy, value)); + pair new_pair(name_copy, value); + pair::iterator,bool> ret = filter->_image_name->insert(new_pair); if (ret.second == false) { return (*ret.first).second; }