diff options
| author | Alvin Penner <penner@vaxxine.com> | 2012-01-21 21:53:08 +0000 |
|---|---|---|
| committer | apenner <penner@vaxxine.com> | 2012-01-21 21:53:08 +0000 |
| commit | 28f41640c6bf4dd9723ac09d91bb8b6b08dcf76e (patch) | |
| tree | 1fed119d30c55e2cc3d09ae4761eb9739bdaaf27 /src | |
| parent | cppcheck (diff) | |
| download | inkscape-28f41640c6bf4dd9723ac09d91bb8b6b08dcf76e.tar.gz inkscape-28f41640c6bf4dd9723ac09d91bb8b6b08dcf76e.zip | |
allow use of comma delimiter in filter table values array (Bug 511140)
Fixed bugs:
- https://launchpad.net/bugs/511140
(bzr r10916)
Diffstat (limited to 'src')
| -rw-r--r-- | src/filters/colormatrix.cpp | 2 | ||||
| -rw-r--r-- | src/filters/convolvematrix.cpp | 2 | ||||
| -rw-r--r-- | src/helper-fns.h | 7 |
3 files changed, 6 insertions, 5 deletions
diff --git a/src/filters/colormatrix.cpp b/src/filters/colormatrix.cpp index b110e2766..b88b84037 100644 --- a/src/filters/colormatrix.cpp +++ b/src/filters/colormatrix.cpp @@ -152,7 +152,7 @@ sp_feColorMatrix_set(SPObject *object, unsigned int key, gchar const *str) break; case SP_ATTR_VALUES: if (str){ - feColorMatrix->values = helperfns_read_vector(str, 20); + feColorMatrix->values = helperfns_read_vector(str); feColorMatrix->value = helperfns_read_number(str, HELPERFNS_NO_WARNING); object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG); } diff --git a/src/filters/convolvematrix.cpp b/src/filters/convolvematrix.cpp index 20d652bee..470bfb64a 100644 --- a/src/filters/convolvematrix.cpp +++ b/src/filters/convolvematrix.cpp @@ -173,7 +173,7 @@ sp_feConvolveMatrix_set(SPObject *object, unsigned int key, gchar const *value) case SP_ATTR_KERNELMATRIX: if (value){ feConvolveMatrix->kernelMatrixIsSet = true; - feConvolveMatrix->kernelMatrix = helperfns_read_vector(value, (int) (feConvolveMatrix->order.getNumber() * feConvolveMatrix->order.getOptNumber())); + feConvolveMatrix->kernelMatrix = helperfns_read_vector(value); if (! feConvolveMatrix->divisorIsSet) { feConvolveMatrix->divisor = 0; for (unsigned int i = 0; i< feConvolveMatrix->kernelMatrix.size(); i++) diff --git a/src/helper-fns.h b/src/helper-fns.h index 3ae150fdb..95de4a1b0 100644 --- a/src/helper-fns.h +++ b/src/helper-fns.h @@ -66,6 +66,7 @@ inline bool helperfns_read_bool(gchar const *value, bool default_value){ * @param size number of elements in string * @return the vector of the converted numbers */ +/* inline std::vector<gdouble> helperfns_read_vector(const gchar* value, int size){ std::vector<gdouble> v(size, (gdouble) 0); std::istringstream is(value); @@ -85,7 +86,7 @@ inline std::vector<gdouble> helperfns_read_vector(const gchar* value, int size){ }; return v; } - +*/ /* convert ascii representation to double * the function can only be used to convert numbers as given by gui elements that use localized representation * numbers are delimeted by space @@ -96,7 +97,7 @@ inline std::vector<gdouble> helperfns_read_vector(const gchar* value){ std::vector<gdouble> v; gchar const* beg = value; - while(isspace(*beg)) beg++; + while(isspace(*beg) || (*beg == ',')) beg++; while(*beg) { char *end; @@ -110,7 +111,7 @@ inline std::vector<gdouble> helperfns_read_vector(const gchar* value){ v.push_back(ret); beg = end; - while(isspace(*beg)) beg++; + while(isspace(*beg) || (*beg == ',')) beg++; } return v; } |
