From 9bc7af5d5de3913a1aa0e865dccfc85d627cad53 Mon Sep 17 00:00:00 2001 From: Manuel Reimer Date: Sun, 23 Nov 2014 13:07:43 +0100 Subject: Fine-tuning for glib2 init --- libcore/imageloader.c | 7 ++++++- libcore/imageloader.h | 8 +++++++- 2 files changed, 13 insertions(+), 2 deletions(-) (limited to 'libcore') diff --git a/libcore/imageloader.c b/libcore/imageloader.c index 703dfeb..9b2a5b7 100644 --- a/libcore/imageloader.c +++ b/libcore/imageloader.c @@ -139,7 +139,6 @@ void cImageImporterPNG::GetImageSize(int &width, int &height) { // cImageImporterSVG::cImageImporterSVG() { - g_type_init(); handle = NULL; } @@ -185,6 +184,12 @@ void cImageImporterSVG::GetImageSize(int &width, int &height) { } } +void cImageImporterSVG::InitLibRSVG() { + #if !GLIB_CHECK_VERSION(2, 35, 0) + g_type_init(); + #endif +} + // // Image importer for JPG // diff --git a/libcore/imageloader.h b/libcore/imageloader.h index 64eea07..6a83dec 100644 --- a/libcore/imageloader.h +++ b/libcore/imageloader.h @@ -3,8 +3,9 @@ #include #include -#ifndef LIBRSVG_VERSION // Workaround for librsvg < 2.36.2 +#ifndef LIBRSVG_CHECK_VERSION // Workaround for librsvg < 2.36.2 #include + #include #endif #include #include @@ -36,6 +37,10 @@ private: }; // Image importer for SVG +#if !LIBRSVG_CHECK_VERSION(2, 36, 0) + #error librsvg version 2.36.0 or above required! +#endif + class cImageImporterSVG : public cImageImporter { public: cImageImporterSVG(); @@ -43,6 +48,7 @@ public: bool LoadImage(const char *path); void DrawToCairo(cairo_t *cr); void GetImageSize(int &width, int &height); + static void InitLibRSVG(); private: RsvgHandle *handle; }; -- cgit v1.2.3