summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlvin Penner <penner@vaxxine.com>2012-01-21 21:53:08 +0000
committerapenner <penner@vaxxine.com>2012-01-21 21:53:08 +0000
commit28f41640c6bf4dd9723ac09d91bb8b6b08dcf76e (patch)
tree1fed119d30c55e2cc3d09ae4761eb9739bdaaf27 /src
parentcppcheck (diff)
downloadinkscape-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.cpp2
-rw-r--r--src/filters/convolvematrix.cpp2
-rw-r--r--src/helper-fns.h7
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;
}