diff options
| author | Johan B. C. Engelen <jbc.engelen@swissonline.ch> | 2007-11-08 00:44:47 +0000 |
|---|---|---|
| committer | johanengelen <johanengelen@users.sourceforge.net> | 2007-11-08 00:44:47 +0000 |
| commit | 49edcbb35ab24509b891b70a397c80facf12e17e (patch) | |
| tree | c9c6890ebc00c72618c6ec392e55a3268369a1a6 | |
| parent | update 2geom (diff) | |
| download | inkscape-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.cpp | 16 |
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(); |
