Browse Source

CDirectory should not use sLog for errors

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
Alexis Maiquez 2 years ago
parent
commit
89a2178308

+ 3 - 2
src/WallpaperEngine/Application/CWallpaperApplication.cpp

@@ -7,6 +7,7 @@
 #include "WallpaperEngine/Logging/CLog.h"
 #include "WallpaperEngine/Render/CRenderContext.h"
 #include "WallpaperEngine/Application/CApplicationState.h"
+#include "WallpaperEngine/Assets/CAssetLoadException.h"
 #include "WallpaperEngine/Audio/Drivers/Detectors/CPulseAudioPlayingDetector.h"
 #include "WallpaperEngine/Input/Drivers/CGLFWMouseInput.h"
 
@@ -54,7 +55,7 @@ namespace WallpaperEngine::Application
         {
             container.add (new CDirectory ("../share/"));
         }
-        catch (std::runtime_error& ex)
+        catch (CAssetLoadException& ex)
         {
             relative = false;
         }
@@ -63,7 +64,7 @@ namespace WallpaperEngine::Application
         {
             container.add (new CDirectory (DATADIR));
         }
-        catch (std::runtime_error& ex)
+        catch (CAssetLoadException& ex)
         {
             absolute = false;
         }

+ 2 - 2
src/WallpaperEngine/Assets/CDirectory.cpp

@@ -15,10 +15,10 @@ CDirectory::CDirectory (std::filesystem::path basepath) :
     struct stat buffer {};
 
     if (stat (this->m_basepath.c_str (), &buffer) != 0)
-        sLog.exception ("Cannot find ", this->m_basepath, ". This folder is required for wallpaper engine to work");
+        throw CAssetLoadException (this->m_basepath, "Cannot find directory");
 
     if (!S_ISDIR(buffer.st_mode))
-        sLog.exception ("Cannot find ", this->m_basepath, ". There's an assets file in it's place");
+        throw CAssetLoadException (this->m_basepath, "Expected directory but found a file");
 }
 
 CDirectory::~CDirectory ()