From: Mikael Magnusson Date: Thu, 24 Apr 2014 22:22:59 +0000 (+0200) Subject: Fix thinko in if.c, *o in Stop can never be pointing at the right place. X-Git-Tag: release-3.6.0~47 X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=1ea131048d674f558504ec13ae8573bd407b82e4;p=dana%2Fopenbox.git Fix thinko in if.c, *o in Stop can never be pointing at the right place. Use a file static boolean instead. --- diff --git a/openbox/actions/if.c b/openbox/actions/if.c index fd8e1bdb..a9c4094b 100644 --- a/openbox/actions/if.c +++ b/openbox/actions/if.c @@ -79,10 +79,9 @@ typedef struct { } Query; typedef struct { - GArray* queries; + GArray *queries; GSList *thenacts; GSList *elseacts; - gboolean stop; } Options; static gpointer setup_func(xmlNodePtr node); @@ -91,6 +90,8 @@ static gboolean run_func_if(ObActionsData *data, gpointer options); static gboolean run_func_stop(ObActionsData *data, gpointer options); static gboolean run_func_foreach(ObActionsData *data, gpointer options); +static gboolean foreach_stop; + void action_if_startup(void) { actions_register("If", setup_func, free_func, run_func_if); @@ -430,14 +431,14 @@ static gboolean run_func_if(ObActionsData *data, gpointer options) static gboolean run_func_foreach(ObActionsData *data, gpointer options) { GList *it; - Options *o = options; - o->stop = FALSE; + foreach_stop = FALSE; for (it = client_list; it; it = g_list_next(it)) { data->client = it->data; run_func_if(data, options); - if (o->stop) { + if (foreach_stop) { + foreach_stop = FALSE; break; } } @@ -447,11 +448,9 @@ static gboolean run_func_foreach(ObActionsData *data, gpointer options) static gboolean run_func_stop(ObActionsData *data, gpointer options) { - Options *o = options; - /* This stops the loop above so we don't invoke actions on any more clients */ - o->stop = TRUE; + foreach_stop = TRUE; /* TRUE causes actions_run_acts to not run further actions on the current client */