[gnome-font-viewer] font-view: move FontConfig init/deinit to the application class
- From: Cosimo Cecchi <cosimoc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-font-viewer] font-view: move FontConfig init/deinit to the application class
- Date: Tue, 1 May 2012 20:04:14 +0000 (UTC)
commit beec585919177c01a447814c10439170ddc6101e
Author: Cosimo Cecchi <cosimoc gnome org>
Date: Tue May 1 15:25:26 2012 -0400
font-view: move FontConfig init/deinit to the application class
Safely init FontConfig once for the whole app, and de-init it when
quitting.
src/font-model.c | 2 --
src/font-view.c | 14 ++++++++++++++
2 files changed, 14 insertions(+), 2 deletions(-)
---
diff --git a/src/font-model.c b/src/font-model.c
index 566ccc4..e4fc1ab 100644
--- a/src/font-model.c
+++ b/src/font-model.c
@@ -440,8 +440,6 @@ font_view_model_init (FontViewModel *self)
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, FONT_VIEW_TYPE_MODEL, FontViewModelPrivate);
- if (!FcInit())
- g_critical ("Can't initialize fontconfig library");
if (FT_Init_FreeType (&self->priv->library) != FT_Err_Ok)
g_critical ("Can't initialize FreeType library");
diff --git a/src/font-view.c b/src/font-view.c
index d0e2fc9..7ac4c42 100644
--- a/src/font-view.c
+++ b/src/font-view.c
@@ -29,6 +29,7 @@
#include FT_SFNT_NAMES_H
#include FT_TRUETYPE_IDS_H
#include <cairo/cairo-ft.h>
+#include <fontconfig/fontconfig.h>
#include <gio/gio.h>
#include <gtk/gtk.h>
#include <glib/gi18n.h>
@@ -688,6 +689,14 @@ font_view_application_activate (GApplication *application)
}
static void
+font_view_application_quit_mainloop (GApplication *application)
+{
+ G_APPLICATION_CLASS (font_view_application_parent_class)->quit_mainloop (application);
+
+ FcFini ();
+}
+
+static void
font_view_application_dispose (GObject *obj)
{
FontViewApplication *self = FONT_VIEW_APPLICATION (obj);
@@ -713,6 +722,7 @@ font_view_application_class_init (FontViewApplicationClass *klass)
aclass->activate = font_view_application_activate;
aclass->startup = font_view_application_startup;
aclass->open = font_view_application_open;
+ aclass->quit_mainloop = font_view_application_quit_mainloop;
oclass->dispose = font_view_application_dispose;
}
@@ -721,6 +731,10 @@ static GApplication *
font_view_application_new (void)
{
g_type_init ();
+
+ if (!FcInit ())
+ g_critical ("Can't initialize fontconfig library");
+
return g_object_new (FONT_VIEW_TYPE_APPLICATION,
"application-id", "org.gnome.font-viewer",
"flags", G_APPLICATION_HANDLES_OPEN,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]