diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-06-22 03:45:53 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-06-22 03:45:53 +0000 |
| commit | 9dacac5e5e6b9ed86e76680b048bc227d8866ac6 (patch) | |
| tree | e154b3b5b959d06060e66ddb21466e075a8d364a /openbox/actions.c | |
| parent | b76ec18d1c8857cf32598c822364298fc535c84e (diff) | |
added the debug action
Diffstat (limited to 'openbox/actions.c')
| -rw-r--r-- | openbox/actions.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/openbox/actions.c b/openbox/actions.c index 44a39cb5..9a5d193c 100644 --- a/openbox/actions.c +++ b/openbox/actions.c @@ -83,14 +83,15 @@ gboolean actions_register(const gchar *name, GSList *it; ObActionsDefinition *def; + g_assert(run != NULL); + g_assert((i_input == NULL) == (i_cancel == NULL)); + for (it = registered; it; it = g_slist_next(it)) { def = it->data; if (!g_ascii_strcasecmp(name, def->name)) /* already registered */ return FALSE; } - g_assert((i_input == NULL) == (i_cancel == NULL)); - def = g_new(ObActionsDefinition, 1); def->ref = 1; def->name = g_strdup(name); @@ -156,7 +157,8 @@ ObActionsAct* actions_parse(ObParseInst *i, if (parse_attr_string("name", node, &name)) { if ((act = actions_parse_string(name))) /* there is more stuff to parse here */ - act->options = act->def->setup(i, doc, node->xmlChildrenNode); + if (act->def->setup) + act->options = act->def->setup(i, doc, node->xmlChildrenNode); g_free(name); } @@ -178,7 +180,8 @@ void actions_act_unref(ObActionsAct *act) { if (act && --act->ref == 0) { /* free the action specific options */ - act->def->free(act->options); + if (act->def->free) + act->def->free(act->options); /* unref the definition */ actions_definition_unref(act->def); g_free(act); |
