swaynag: statically allocate button_close, and move declaration

Every swaynag has a close button, so it doesn't make sense to
allocate it dynamically. The declaration is moved later to when
it is actually needed.
This commit is contained in:
Nihal Jere 2022-02-28 17:18:54 -06:00 committed by Simon Ser
parent 0babfce4b5
commit 4780afb68b

View file

@ -30,16 +30,6 @@ int main(int argc, char **argv) {
wl_list_init(&swaynag.outputs); wl_list_init(&swaynag.outputs);
wl_list_init(&swaynag.seats); wl_list_init(&swaynag.seats);
struct swaynag_button *button_close =
calloc(sizeof(struct swaynag_button), 1);
if (!button_close) {
perror("calloc");
return EXIT_FAILURE;
}
button_close->text = strdup("X");
button_close->type = SWAYNAG_ACTION_DISMISS;
list_add(swaynag.buttons, button_close);
char *config_path = NULL; char *config_path = NULL;
bool debug = false; bool debug = false;
int launch_status = swaynag_parse_options(argc, argv, NULL, NULL, NULL, int launch_status = swaynag_parse_options(argc, argv, NULL, NULL, NULL,
@ -100,6 +90,11 @@ int main(int argc, char **argv) {
swaynag_types_free(types); swaynag_types_free(types);
struct swaynag_button button_close = { 0 };
button_close.text = strdup("X");
button_close.type = SWAYNAG_ACTION_DISMISS;
list_add(swaynag.buttons, &button_close);
if (swaynag.details.message) { if (swaynag.details.message) {
list_add(swaynag.buttons, &swaynag.details.button_details); list_add(swaynag.buttons, &swaynag.details.button_details);
} }