diff --git a/modules/gui/src/file_loader.cc b/modules/gui/src/file_loader.cc index 31636340e150d1ed3c06284165bc2255789aeeb4..f8e611f9f3bf29293aabae09e2fa554d379d2645 100644 --- a/modules/gui/src/file_loader.cc +++ b/modules/gui/src/file_loader.cc @@ -135,21 +135,26 @@ void FileLoader::AddToScene(const QString& filename, gfx::GfxObjP obj) gfx::GfxObjP FileLoader::NoHandlerFound(const QString& filename) { FileTypeDialog dialog(filename); - if(dialog.exec()){ - if(dialog.GetEntityHandler()){ - return TryLoadEntity(filename, dialog.GetEntityHandler()); - } - if(dialog.GetSequenceHandler()){ - return TryLoadAlignment(filename, dialog.GetSequenceHandler()); - } - if(dialog.GetSurfaceHandler()){ - return TryLoadSurface(filename,dialog.GetSurfaceHandler()); - } -#if OST_IMG_ENABLED - if(dialog.GetMapHandler()){ - return TryLoadMap(filename,dialog.GetMapHandler()); + try{ + if(dialog.exec()){ + if(dialog.GetEntityHandler()){ + return TryLoadEntity(filename, dialog.GetEntityHandler()); + } + if(dialog.GetSequenceHandler()){ + return TryLoadAlignment(filename, dialog.GetSequenceHandler()); + } + if(dialog.GetSurfaceHandler()){ + return TryLoadSurface(filename,dialog.GetSurfaceHandler()); + } + #if OST_IMG_ENABLED + if(dialog.GetMapHandler()){ + return TryLoadMap(filename,dialog.GetMapHandler()); + } + #endif } -#endif + } + catch (io::IOException& e) { + FileLoader::HandleError(e,IO_LOADING,filename); } return gfx::GfxObjP(); }