summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohan B. C. Engelen <jbc.engelen@swissonline.ch>2007-11-08 00:44:47 +0000
committerjohanengelen <johanengelen@users.sourceforge.net>2007-11-08 00:44:47 +0000
commit49edcbb35ab24509b891b70a397c80facf12e17e (patch)
treec9c6890ebc00c72618c6ec392e55a3268369a1a6
parentupdate 2geom (diff)
downloadinkscape-49edcbb35ab24509b891b70a397c80facf12e17e.tar.gz
inkscape-49edcbb35ab24509b891b70a397c80facf12e17e.zip
attempt at fixing [ 1679218 ] open/import clicking on a 0 byte image results in a crash; but for some reason, exception catching does not work...
(bzr r4042)
-rw-r--r--src/ui/dialog/filedialogimpl-gtkmm.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/ui/dialog/filedialogimpl-gtkmm.cpp b/src/ui/dialog/filedialogimpl-gtkmm.cpp
index 6ad717938..ecedd8b8f 100644
--- a/src/ui/dialog/filedialogimpl-gtkmm.cpp
+++ b/src/ui/dialog/filedialogimpl-gtkmm.cpp
@@ -205,7 +205,21 @@ void SVGPreview::showImage(Glib::ustring &theFileName)
gint previewHeight = 600;
//Get some image info. Smart pointer does not need to be deleted
- Glib::RefPtr<Gdk::Pixbuf> img = Gdk::Pixbuf::create_from_file(fileName);
+ Glib::RefPtr<Gdk::Pixbuf> img(NULL);
+ try {
+ img = Gdk::Pixbuf::create_from_file(fileName);
+ }
+ catch (Glib::FileError e)
+ {
+ g_message("caught Glib::FileError in SVGPreview::showImage");
+ return;
+ }
+ catch (Gdk::PixbufError e)
+ {
+ g_message("Gdk::PixbufError in SVGPreview::showImage");
+ return;
+ }
+
gint imgWidth = img->get_width();
gint imgHeight = img->get_height();