aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-04-24 00:24:44 -0400
committerJesse Luehrs <doy@tozt.net>2014-04-24 00:24:44 -0400
commit1937c96955517ac3159415978fc72a3b4f9ed980 (patch)
tree9e02b79e9af787f9a173604933e851496a54d3ac
parent21a0a5cafafe81f4ba7271dcb0928eb9ffaff032 (diff)
downloadrunes-1937c96955517ac3159415978fc72a3b4f9ed980.tar.gz
runes-1937c96955517ac3159415978fc72a3b4f9ed980.zip
more refactoring
-rw-r--r--src/config.c13
-rw-r--r--src/config.h1
-rw-r--r--src/display.c8
-rw-r--r--src/term.c2
4 files changed, 15 insertions, 9 deletions
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);
}