summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorbulia byak <buliabyak@gmail.com>2009-06-29 02:00:29 +0000
committerbuliabyak <buliabyak@users.sourceforge.net>2009-06-29 02:00:29 +0000
commit8f1031db12b5da5456a0237394b5b4389a626fa7 (patch)
tree73bd49b097da1b5cb432e3de7f43e0fc2e640ddc /src
parentfix imagemagick effects for file:// uris (diff)
downloadinkscape-8f1031db12b5da5456a0237394b5b4389a626fa7.tar.gz
inkscape-8f1031db12b5da5456a0237394b5b4389a626fa7.zip
better fix, and prevent any further crashes; now tested on windows too
(bzr r8184)
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 (...) {}
}
}