summaryrefslogtreecommitdiff
path: root/libcore
diff options
context:
space:
mode:
authorManuel Reimer <manuel.reimer@gmx.de>2014-11-23 13:07:43 +0100
committerManuel Reimer <manuel.reimer@gmx.de>2014-11-23 13:07:43 +0100
commit9bc7af5d5de3913a1aa0e865dccfc85d627cad53 (patch)
tree7d37811d1abeb187b7e68d2663b86d5b45a777c8 /libcore
parent17fcf85158d40268f3eced58fc7c6be84a0510d1 (diff)
downloadvdr-plugin-skindesigner-9bc7af5d5de3913a1aa0e865dccfc85d627cad53.tar.gz
vdr-plugin-skindesigner-9bc7af5d5de3913a1aa0e865dccfc85d627cad53.tar.bz2
Fine-tuning for glib2 init
Diffstat (limited to 'libcore')
-rw-r--r--libcore/imageloader.c7
-rw-r--r--libcore/imageloader.h8
2 files changed, 13 insertions, 2 deletions
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 <cairo.h>
#include <librsvg/rsvg.h>
-#ifndef LIBRSVG_VERSION // Workaround for librsvg < 2.36.2
+#ifndef LIBRSVG_CHECK_VERSION // Workaround for librsvg < 2.36.2
#include <librsvg/rsvg-cairo.h>
+ #include <librsvg/librsvg-features.h>
#endif
#include <jpeglib.h>
#include <setjmp.h>
@@ -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;
};