void compFiniScreenOption(CompScreen *s, CompOption *o) { finiScreenOptionValue (s, &o->value, o->type); compFiniOption (o); }
static void finiScreenOptionValue(CompScreen *s, CompOptionValue *v, CompOptionType type) { int i; switch (type) { /* case CompOptionTypeAction: * if (v->action.state & CompActionStateAutoGrab) * removeScreenAction (s, &v->action); * break; */ case CompOptionTypeList: for (i = 0; i < v->list.nValue; i++) finiScreenOptionValue (s, &v->list.value[i], v->list.type); default: break; } }
static void finiScreenOptionValue (CompScreen *s, CompOptionValue *v, CompOptionType type) { int i; switch (type) { case CompOptionTypeAction: case CompOptionTypeKey: case CompOptionTypeButton: case CompOptionTypeEdge: case CompOptionTypeBell: if (v->action.state & CompActionStateAutoGrab) removeScreenAction (s, &v->action); break; case CompOptionTypeList: for (i = 0; i < v->list.nValue; i++) finiScreenOptionValue (s, &v->list.value[i], v->list.type); default: break; } }
static void finiScreenOptionValue (CompScreen *s, CompOption::Value &v, CompOption::Type type) { switch (type) { case CompOption::TypeAction: case CompOption::TypeKey: case CompOption::TypeButton: case CompOption::TypeEdge: case CompOption::TypeBell: if (v.action ().state () & CompAction::StateAutoGrab) s->removeAction (&v.action ()); break; case CompOption::TypeList: foreach (CompOption::Value &val, v.list ()) finiScreenOptionValue (s, val, v.listType ()); break; default: break; } }