EffectsHandlerImpl::unloadAllEffects can be very useful when writing
tests, e.g.:
auto effectsImpl = qobect_cast<EffectsHandlerImpl *>(effects); QVERIFY(effectsImpl); effectsImpl->unloadAllEffects(); QVERIFY(effectsImpl->loadEffect(QStringLiteral("kwin5_effect_foobar")));
but because unloadAllEffects doesn't clean up effect_order, the old
effects can be re-added back into loaded_effects when a new effect is
loaded. Such behavior can result in a segfault.