aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortaiyu <taiyu.len@gmail.com>2015-09-02 08:51:26 -0700
committertaiyu <taiyu.len@gmail.com>2015-09-02 08:51:26 -0700
commit782729be1388f3b8f603b4d328bc861fd3624233 (patch)
tree6186f5c097e76b9b6c3837f4309fa092e605626f
parent1756a4f2da9dfe09a094ead84980a5b80871bf4b (diff)
properly free cmd_queue, should partially fix #165 from what i tell from its log.
-rw-r--r--sway/handlers.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sway/handlers.c b/sway/handlers.c
index b12be9f7..413c17fe 100644
--- a/sway/handlers.c
+++ b/sway/handlers.c
@@ -485,12 +485,12 @@ static bool handle_pointer_button(wlc_handle view, uint32_t time, const struct w
static void handle_wlc_ready(void) {
sway_log(L_DEBUG, "Compositor is ready, executing cmds in queue");
-
- int i;
- for (i = 0; i < config->cmd_queue->length; ++i) {
- handle_command(config, config->cmd_queue->items[i]);
+ // Execute commands until there are none left
+ while (config->cmd_queue->length) {
+ handle_command(config, config->cmd_queue->items[0]);
+ free(config->cmd_queue->items[0]);
+ list_del(config->cmd_queue, 0);
}
- free_flat_list(config->cmd_queue);
config->active = true;
}