From: Michal MalĂ˝ Date: Sat, 11 Jul 2015 09:26:13 +0000 (+0200) Subject: Handle transition from STARTED to EMPTY uncombinable effect correctly X-Git-Url: https://gitweb.devoid-pointer.net/?a=commitdiff_plain;h=fe7946a7b61178a589a81805b052a70f50c668b2;p=KLGD_FF_plugin.git Handle transition from STARTED to EMPTY uncombinable effect correctly when it is being replaced by a combinable effect. --- diff --git a/klgd_ff_plugin.c b/klgd_ff_plugin.c index d1221f1..9151724 100644 --- a/klgd_ff_plugin.c +++ b/klgd_ff_plugin.c @@ -384,9 +384,17 @@ static int ffpl_handle_combinable_effects(struct klgd_plugin_private *priv, stru /* Uncombinable effect is about to be replaced by a combinable one */ if (ffpl_is_combinable(&eff->latest)) { printk(KERN_NOTICE "KLGDFF: Replacing uncombinable with combinable\n"); - ret = ffpl_erase_effect(priv, s, eff); - if (ret) - return ret; + switch (eff->state) { + case FFPL_STARTED: + ret = ffpl_stop_effect(priv, s, eff); + if (ret) + return ret; + default: + ret = ffpl_erase_effect(priv, s, eff); + if (ret) + return ret; + break; + } eff->replace = false; } else { /* Combinable effect is being replaced by an uncombinable one */