summaryrefslogtreecommitdiffstats
path: root/src/object
diff options
context:
space:
mode:
Diffstat (limited to 'src/object')
-rw-r--r--src/object/sp-gradient.cpp1
-rw-r--r--src/object/sp-stop.cpp10
-rw-r--r--src/object/sp-stop.h1
3 files changed, 11 insertions, 1 deletions
diff --git a/src/object/sp-gradient.cpp b/src/object/sp-gradient.cpp
index d0d50783f..7e31540b6 100644
--- a/src/object/sp-gradient.cpp
+++ b/src/object/sp-gradient.cpp
@@ -539,7 +539,6 @@ void SPGradient::modified(guint flags)
#ifdef OBJECT_TRACE
objectTrace( "SPGradient::modified" );
#endif
-
if (flags & SP_OBJECT_CHILD_MODIFIED_FLAG) {
if (SP_IS_MESHGRADIENT(this)) {
this->invalidateArray();
diff --git a/src/object/sp-stop.cpp b/src/object/sp-stop.cpp
index 7386599ff..41daeb4d4 100644
--- a/src/object/sp-stop.cpp
+++ b/src/object/sp-stop.cpp
@@ -69,11 +69,21 @@ void SPStop::set(unsigned int key, const gchar* value) {
} else {
SPObject::set(key, value);
}
+ // This makes sure that the parent sp-gradient is updated.
+ this->requestModified(SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_STYLE_MODIFIED_FLAG);
break;
}
}
}
+void SPStop::modified(guint flags)
+{
+ if (parent && !(flags & SP_OBJECT_PARENT_MODIFIED_FLAG)) {
+ parent->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_STYLE_MODIFIED_FLAG);
+ }
+}
+
+
/**
* Virtual set: set attribute to value.
*/
diff --git a/src/object/sp-stop.h b/src/object/sp-stop.h
index aef7bb180..7ee03259e 100644
--- a/src/object/sp-stop.h
+++ b/src/object/sp-stop.h
@@ -44,6 +44,7 @@ public:
protected:
void build(SPDocument* doc, Inkscape::XML::Node* repr) override;
void set(unsigned int key, const char* value) override;
+ void modified(guint flags) override;
Inkscape::XML::Node* write(Inkscape::XML::Document* doc, Inkscape::XML::Node* repr, unsigned int flags) override;
};