summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/filters/convolvematrix.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/filters/convolvematrix.cpp b/src/filters/convolvematrix.cpp
index a5a40811c..5cda2a139 100644
--- a/src/filters/convolvematrix.cpp
+++ b/src/filters/convolvematrix.cpp
@@ -191,8 +191,10 @@ sp_feConvolveMatrix_set(SPObject *object, unsigned int key, gchar const *value)
read_num = helperfns_read_number(value);
if (read_num == 0) {
// This should actually be an error, but given our UI it is more useful to simply set divisor to the default.
- for (unsigned int i = 0; i< feConvolveMatrix->kernelMatrix.size(); i++)
- read_num += feConvolveMatrix->kernelMatrix[i];
+ if (feConvolveMatrix->kernelMatrixIsSet) {
+ for (unsigned int i = 0; i< feConvolveMatrix->kernelMatrix.size(); i++)
+ read_num += feConvolveMatrix->kernelMatrix[i];
+ }
if (read_num == 0) read_num = 1;
if (feConvolveMatrix->divisorIsSet || feConvolveMatrix->divisor!=read_num) {
feConvolveMatrix->divisorIsSet = false;
@@ -202,6 +204,7 @@ sp_feConvolveMatrix_set(SPObject *object, unsigned int key, gchar const *value)
} else if (!feConvolveMatrix->divisorIsSet || feConvolveMatrix->divisor!=read_num) {
feConvolveMatrix->divisorIsSet = true;
feConvolveMatrix->divisor = read_num;
+ object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG);
}
}
break;