summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/extension/internal/bitmap/imagemagick.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/extension/internal/bitmap/imagemagick.cpp b/src/extension/internal/bitmap/imagemagick.cpp
index bfde84e0c..ab2834141 100644
--- a/src/extension/internal/bitmap/imagemagick.cpp
+++ b/src/extension/internal/bitmap/imagemagick.cpp
@@ -120,10 +120,14 @@ ImageMagickDocCache::readImage(const char *xlink, Magick::Image *image)
image->read(blob);
}
else {
- if (!strncmp(xlink, "file://", 7) && strlen(xlink) > 7)
- image->read(xlink + 7);
- else
- image->read(xlink);
+ const gchar *path = xlink;
+ if (strncmp (xlink,"file:", 5) == 0) {
+ path = g_filename_from_uri(xlink, NULL, NULL);
+ }
+
+ try {
+ image->read(path);
+ } catch (...) {}
}
}