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);
|
||||
}
|
||||
|
||||
struct Assignment *assign;
|
||||
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)
|
||||
FREE(assign->dest.workspace);
|
||||
else if (assign->type == A_COMMAND)
|
||||
|
@ -111,6 +110,14 @@ void load_configuration(xcb_connection_t *conn, const char *override_configpath,
|
|||
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 */
|
||||
Barconfig *barconfig;
|
||||
while (!TAILQ_EMPTY(&barconfigs)) {
|
||||
|
|
Loading…
Reference in New Issue