Free ws_assignments on reload
This fixes an unreported bug where deleting a workspace assignment and reloading the config file would keep the assignment.
This commit is contained in:
parent
5a54a1ab04
commit
01e971b51e
11
src/config.c
11
src/config.c
|
@ -97,9 +97,8 @@ void load_configuration(xcb_connection_t *conn, const char *override_configpath,
|
||||||
FREE(mode);
|
FREE(mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Assignment *assign;
|
|
||||||
while (!TAILQ_EMPTY(&assignments)) {
|
while (!TAILQ_EMPTY(&assignments)) {
|
||||||
assign = TAILQ_FIRST(&assignments);
|
struct Assignment *assign = TAILQ_FIRST(&assignments);
|
||||||
if (assign->type == A_TO_WORKSPACE || assign->type == A_TO_WORKSPACE_NUMBER)
|
if (assign->type == A_TO_WORKSPACE || assign->type == A_TO_WORKSPACE_NUMBER)
|
||||||
FREE(assign->dest.workspace);
|
FREE(assign->dest.workspace);
|
||||||
else if (assign->type == A_COMMAND)
|
else if (assign->type == A_COMMAND)
|
||||||
|
@ -111,6 +110,14 @@ void load_configuration(xcb_connection_t *conn, const char *override_configpath,
|
||||||
FREE(assign);
|
FREE(assign);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
while (!TAILQ_EMPTY(&ws_assignments)) {
|
||||||
|
struct Workspace_Assignment *assign = TAILQ_FIRST(&ws_assignments);
|
||||||
|
FREE(assign->name);
|
||||||
|
FREE(assign->output);
|
||||||
|
TAILQ_REMOVE(&ws_assignments, assign, ws_assignments);
|
||||||
|
FREE(assign);
|
||||||
|
}
|
||||||
|
|
||||||
/* Clear bar configs */
|
/* Clear bar configs */
|
||||||
Barconfig *barconfig;
|
Barconfig *barconfig;
|
||||||
while (!TAILQ_EMPTY(&barconfigs)) {
|
while (!TAILQ_EMPTY(&barconfigs)) {
|
||||||
|
|
Loading…
Reference in New Issue