From 1937c96955517ac3159415978fc72a3b4f9ed980 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Thu, 24 Apr 2014 00:24:44 -0400 Subject: more refactoring --- src/config.c | 13 +++++++++++++ src/config.h | 1 + src/display.c | 8 -------- src/term.c | 2 +- 4 files changed, 15 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/config.c b/src/config.c index f72e9a2..09b2542 100644 --- a/src/config.c +++ b/src/config.c @@ -21,6 +21,19 @@ void runes_config_init(RunesTerm *t, int argc, char *argv[]) runes_config_process_args(t, argc, argv); } +void runes_config_cleanup(RunesTerm *t) +{ + int i; + + free(t->font_name); + cairo_pattern_destroy(t->mousecursorcolor); + cairo_pattern_destroy(t->fgdefault); + cairo_pattern_destroy(t->bgdefault); + for (i = 0; i < 256; ++i) { + cairo_pattern_destroy(t->colors[i]); + } +} + static void runes_config_set_defaults(RunesTerm *t) { memset((void *)t, 0, sizeof(*t)); diff --git a/src/config.h b/src/config.h index 980cbab..9789caa 100644 --- a/src/config.h +++ b/src/config.h @@ -2,5 +2,6 @@ #define _RUNES_CONFIG_H void runes_config_init(RunesTerm *t, int argc, char *argv[]); +void runes_config_cleanup(RunesTerm *t); #endif diff --git a/src/display.c b/src/display.c index df57df7..7775353 100644 --- a/src/display.c +++ b/src/display.c @@ -519,14 +519,7 @@ void runes_display_set_scroll_region( void runes_display_cleanup(RunesTerm *t) { - int i; - g_object_unref(t->layout); - for (i = 0; i < 256; ++i) { - cairo_pattern_destroy(t->colors[i]); - } - cairo_pattern_destroy(t->fgdefault); - cairo_pattern_destroy(t->bgdefault); if (t->fgcustom) { cairo_pattern_destroy(t->fgcustom); } @@ -534,7 +527,6 @@ void runes_display_cleanup(RunesTerm *t) cairo_pattern_destroy(t->bgcustom); } cairo_pattern_destroy(t->cursorcolor); - cairo_pattern_destroy(t->mousecursorcolor); cairo_destroy(t->cr); } diff --git a/src/term.c b/src/term.c index 6ada412..f5c7b9b 100644 --- a/src/term.c +++ b/src/term.c @@ -19,8 +19,8 @@ void runes_term_init(RunesTerm *t, int argc, char *argv[]) void runes_term_cleanup(RunesTerm *t) { + runes_config_cleanup(t); runes_display_cleanup(t); runes_window_backend_cleanup(t); runes_pty_backend_cleanup(t); - free(t->font_name); } -- cgit v1.2.3-54-g00ecf