| 594 | } |
| 595 | |
| 596 | bool ScriptedEffect::grab(EffectWindow *w, DataRole grabRole, bool force) |
| 597 | { |
| 598 | void *grabber = w->data(grabRole).value<void *>(); |
| 599 | |
| 600 | if (grabber == this) { |
| 601 | return true; |
| 602 | } |
| 603 | |
| 604 | if (grabber != nullptr && grabber != this && !force) { |
| 605 | return false; |
| 606 | } |
| 607 | |
| 608 | w->setData(grabRole, QVariant::fromValue(static_cast<void *>(this))); |
| 609 | |
| 610 | return true; |
| 611 | } |
| 612 | |
| 613 | bool ScriptedEffect::ungrab(EffectWindow *w, DataRole grabRole) |
| 614 | { |