i3bar: fix freeing static strings
name and color fields of blocks are freed in clear_statusline, so they need to be strdup'ed.
This commit is contained in:
parent
6b505d8aca
commit
fe006f0f6a
@ -107,14 +107,14 @@ __attribute__((format(printf, 1, 2))) static void set_statusline_error(const cha
|
|||||||
|
|
||||||
struct status_block *err_block = scalloc(sizeof(struct status_block));
|
struct status_block *err_block = scalloc(sizeof(struct status_block));
|
||||||
err_block->full_text = i3string_from_utf8("Error: ");
|
err_block->full_text = i3string_from_utf8("Error: ");
|
||||||
err_block->name = "error";
|
err_block->name = sstrdup("error");
|
||||||
err_block->color = "red";
|
err_block->color = sstrdup("red");
|
||||||
err_block->no_separator = true;
|
err_block->no_separator = true;
|
||||||
|
|
||||||
struct status_block *message_block = scalloc(sizeof(struct status_block));
|
struct status_block *message_block = scalloc(sizeof(struct status_block));
|
||||||
message_block->full_text = i3string_from_utf8(message);
|
message_block->full_text = i3string_from_utf8(message);
|
||||||
message_block->name = "error_message";
|
message_block->name = sstrdup("error_message");
|
||||||
message_block->color = "red";
|
message_block->color = sstrdup("red");
|
||||||
message_block->no_separator = true;
|
message_block->no_separator = true;
|
||||||
|
|
||||||
TAILQ_INSERT_HEAD(&statusline_head, err_block, blocks);
|
TAILQ_INSERT_HEAD(&statusline_head, err_block, blocks);
|
||||||
|
Loading…
Reference in New Issue
Block a user