aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/button.c2
-rw-r--r--src/comet.c17
-rw-r--r--src/connect.c2
-rw-r--r--valgrind.supp8
4 files changed, 19 insertions, 10 deletions
diff --git a/src/button.c b/src/button.c
index bf3c575..3b61bd2 100644
--- a/src/button.c
+++ b/src/button.c
@@ -17,7 +17,7 @@ void button_simple_set_text(Button *btn, char *text, Color text_color)
{
g_assert(btn->simple);
ButtonSimple *sbtn = CAST(btn, ButtonSimple);
- if (sbtn->text != NULL) g_free(sbtn->text);
+ g_free(sbtn->text);
sbtn->text = text;
sbtn->text_color = text_color;
}
diff --git a/src/comet.c b/src/comet.c
index 9e7f46c..019444a 100644
--- a/src/comet.c
+++ b/src/comet.c
@@ -158,14 +158,14 @@ static gboolean date_update(gpointer data)
{
ButtonSimple *btn = data;
- GDateTime *time = g_date_time_new_now_local();
- char *date = g_date_time_format(time, "%A %d %H:%M");
- g_assert(date != NULL);
+ GDateTime *dt = g_date_time_new_now_local();
+ char *text = g_date_time_format(dt, "%A %d %H:%M");
+ g_date_time_unref(dt);
+ g_assert_nonnull(text);
size_t len1 = g_utf8_strlen(btn->text, -1);
-
- button_simple_set_text((gpointer)btn, date, btn->text_color);
- size_t len2 = g_utf8_strlen(btn->text, -1);
+ size_t len2 = g_utf8_strlen(text, -1);
+ button_simple_set_text((gpointer)btn, text, btn->text_color);
struct {
State *state;
@@ -182,7 +182,6 @@ static gboolean date_update(gpointer data)
its.it_value.tv_sec = 60 - (current.tv_sec % 60);
timer_settime(date_ctx->timer, 0, &its, NULL);
- g_date_time_unref(time);
return G_SOURCE_CONTINUE;
}
@@ -391,13 +390,15 @@ int main(int argc, char **argv)
// NOTE: Skip the first element (the open/close button)
g_list_free_full(menu_ctx.toggled->next, (GDestroyNotify)button_destroy);
+ g_free(menu_ctx.toggled);
timer_delete(date_ctx.timer);
- // Buttons are freed by state_destroy
+ // NOTE: Buttons are freed by state_destroy
dwm_destroy(dwm);
state_destroy(state);
draw_destroy(draw);
window_destroy(win);
+ connect_destroy(con);
return 0;
}
diff --git a/src/connect.c b/src/connect.c
index 9e709af..1ad5c9a 100644
--- a/src/connect.c
+++ b/src/connect.c
@@ -235,7 +235,6 @@ static gboolean source_dispatch(GSource *source, GSourceFunc callback, gpointer
if (property->atom == XCB_ATOM_RESOURCE_MANAGER) {
update_xrm(xsource->con);
update_scale(xsource->con);
-
state_request_redraw(xsource->con->state, true);
}
break;
@@ -349,6 +348,7 @@ Connection *connect_create()
con->database = xcb_xrm_database_from_default(con->connection);
g_assert_nonnull(con->database);
+ // TODO: Dpi aware scaling
update_scale(con);
g_assert(xcb_errors_context_new(con->connection, &con->errors) == 0);
diff --git a/valgrind.supp b/valgrind.supp
index 73403bc..5be2434 100644
--- a/valgrind.supp
+++ b/valgrind.supp
@@ -10,6 +10,14 @@
...
}
+# See https://gitlab.gnome.org/GNOME/pango/-/issues/750
+{
+ fontconfig_creative_memory
+ Memcheck:Leak
+ ...
+ obj:*fontconfig*
+ ...
+}
# FIXME
{