summaryrefslogtreecommitdiffstats
path: root/src/live_effects/parameter/originalitem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/live_effects/parameter/originalitem.cpp')
-rw-r--r--src/live_effects/parameter/originalitem.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/live_effects/parameter/originalitem.cpp b/src/live_effects/parameter/originalitem.cpp
index 053062128..07c8bd27c 100644
--- a/src/live_effects/parameter/originalitem.cpp
+++ b/src/live_effects/parameter/originalitem.cpp
@@ -84,11 +84,30 @@ OriginalItemParam::param_newWidget()
}
void
+OriginalItemParam::param_write(const gchar * iid)
+{
+ Glib::ustring itemid(iid);
+
+ if (itemid.empty()) {
+ return;
+ }
+ // add '#' at start to make it an uri.
+ itemid.insert(itemid.begin(), '#');
+ if ( href && strcmp(itemid.c_str(), href) == 0 ) {
+ // no change, do nothing
+ return;
+ } else {
+ param_write_to_repr(itemid.c_str());
+ }
+}
+
+void
OriginalItemParam::linked_modified_callback(SPObject *linked_obj, guint /*flags*/)
{
if (!inverse) {
emit_changed();
- SP_OBJECT(param_effect->getLPEObj())->requestModified(SP_OBJECT_MODIFIED_FLAG);
+ LivePathEffectObject* lpeobj = param_effect->getLPEObj();
+ SP_OBJECT(lpeobj)->requestModified(SP_OBJECT_MODIFIED_FLAG);
}
}