mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-11-15 09:44:04 +00:00
Fix some minor memleaks, fix crash on reload.
It seems that closing xft fonts on reload is a bad idea, but this seems to result in a memory leak. As far as I can tell, the leak doesn't grow beyond the initial allocation however.
This commit is contained in:
parent
82614ebb22
commit
bbb267586a
@ -3919,6 +3919,7 @@ static void main_loop(void)
|
||||
current_config,
|
||||
IN_MODIFY);
|
||||
}
|
||||
break;
|
||||
}
|
||||
#ifdef HAVE_LUA
|
||||
else {
|
||||
|
@ -135,7 +135,13 @@ void free_fonts(void)
|
||||
for (i = 0; i <= font_count; i++) {
|
||||
#ifdef XFT
|
||||
if (use_xft) {
|
||||
XftFontClose(display, fonts[i].xftfont);
|
||||
/*
|
||||
* Do we not need to close fonts with Xft? Unsure. Not freeing the
|
||||
* fonts seems to incur a slight memory leak, but it also prevents
|
||||
* a crash.
|
||||
*
|
||||
* XftFontClose(display, fonts[i].xftfont);
|
||||
*/
|
||||
fonts[i].xftfont = 0;
|
||||
} else
|
||||
#endif /* XFT */
|
||||
|
10
src/llua.c
10
src/llua.c
@ -303,6 +303,14 @@ void llua_close(void)
|
||||
free(draw_post_hook);
|
||||
draw_post_hook = 0;
|
||||
}
|
||||
if (startup_hook) {
|
||||
free(startup_hook);
|
||||
startup_hook = 0;
|
||||
}
|
||||
if (shutdown_hook) {
|
||||
free(shutdown_hook);
|
||||
shutdown_hook = 0;
|
||||
}
|
||||
if(!lua_L) return;
|
||||
lua_close(lua_L);
|
||||
lua_L = NULL;
|
||||
@ -398,11 +406,13 @@ void llua_set_number(const char *key, double value)
|
||||
|
||||
void llua_set_startup_hook(const char *args)
|
||||
{
|
||||
if (startup_hook) free(startup_hook);
|
||||
startup_hook = strdup(args);
|
||||
}
|
||||
|
||||
void llua_set_shutdown_hook(const char *args)
|
||||
{
|
||||
if (shutdown_hook) free(shutdown_hook);
|
||||
shutdown_hook = strdup(args);
|
||||
}
|
||||
|
||||
|
@ -816,7 +816,7 @@ static void *imap_thread(void *arg)
|
||||
recvbuf[numbytes] = '\0';
|
||||
DBGP2("imap_thread() received: %s", recvbuf);
|
||||
if (strlen(recvbuf) > 2) {
|
||||
unsigned long messages, recent;
|
||||
unsigned long messages, recent = 0;
|
||||
char *buf = recvbuf;
|
||||
char force_check = 0;
|
||||
buf = strstr(buf, "EXISTS");
|
||||
|
@ -238,11 +238,13 @@ static int get_argb_visual(Visual** visual, int *depth) {
|
||||
*visual = visual_list[i].visual;
|
||||
*depth = visual_list[i].depth;
|
||||
DBGP("Found ARGB Visual");
|
||||
XFree(visual_list);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
// no argb visual available
|
||||
DBGP("No ARGB Visual found");
|
||||
XFree(visual_list);
|
||||
return 0;
|
||||
}
|
||||
#endif /* USE_ARGB */
|
||||
|
Loading…
Reference in New Issue
Block a user