aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/cru/base/Base.h53
-rw-r--r--include/cru/base/Exception.h65
-rw-r--r--include/cru/base/StringUtil.h5
-rw-r--r--include/cru/base/SubProcess.h1
-rw-r--r--include/cru/base/Timer.h1
-rw-r--r--include/cru/base/io/BufferStream.h1
-rw-r--r--include/cru/base/io/Stream.h1
-rw-r--r--include/cru/base/platform/unix/EventLoop.h1
-rw-r--r--include/cru/base/platform/web/WebException.h2
-rw-r--r--include/cru/base/platform/win/Exception.h2
-rw-r--r--include/cru/base/toml/TomlParser.h2
-rw-r--r--include/cru/base/xml/XmlParser.h2
-rw-r--r--include/cru/platform/Base.h1
-rw-r--r--include/cru/platform/gui/sdl/Base.h1
-rw-r--r--include/cru/platform/gui/xcb/Base.h1
-rw-r--r--include/cru/ui/mapper/Mapper.h1
-rw-r--r--src/ThemeBuilder/components/StyleRuleSetEditor.cpp1
-rw-r--r--src/ThemeBuilder/components/conditions/ConditionEditor.cpp1
-rw-r--r--src/ThemeBuilder/components/stylers/StylerEditor.cpp1
-rw-r--r--src/base/Base.cpp38
-rw-r--r--src/base/Buffer.cpp1
-rw-r--r--src/base/CMakeLists.txt1
-rw-r--r--src/base/Exception.cpp42
-rw-r--r--src/base/PropertyTree.cpp1
-rw-r--r--src/base/StringUtil.cpp1
-rw-r--r--src/base/io/CFileStream.cpp1
-rw-r--r--src/base/io/MemoryStream.cpp1
-rw-r--r--src/base/io/Resource.cpp1
-rw-r--r--src/base/io/Stream.cpp1
-rw-r--r--src/base/platform/unix/EventLoop.cpp1
-rw-r--r--src/base/platform/unix/PosixSpawnSubProcess.cpp1
-rw-r--r--src/base/platform/unix/UnixFile.cpp1
-rw-r--r--src/base/platform/unix/UnixFileStream.cpp1
-rw-r--r--src/base/platform/win/StreamConvert.cpp1
-rw-r--r--src/platform/graphics/Geometry.cpp1
-rw-r--r--src/platform/graphics/cairo/CairoImageFactory.cpp1
-rw-r--r--src/platform/gui/UiApplication.cpp1
-rw-r--r--src/platform/gui/osx/Cursor.mm1
-rw-r--r--src/platform/gui/osx/Keyboard.mm1
-rw-r--r--src/platform/gui/xcb/Cursor.cpp1
-rw-r--r--src/platform/gui/xcb/Input.cpp1
-rw-r--r--src/ui/mapper/CursorMapper.cpp1
-rw-r--r--src/ui/mapper/style/ClickStateConditionMapper.cpp1
-rw-r--r--src/ui/mapper/style/StyleRuleMapper.cpp2
-rw-r--r--src/ui/render/RenderObject.cpp1
-rw-r--r--src/ui/style/StyleRuleSet.cpp1
46 files changed, 100 insertions, 149 deletions
diff --git a/include/cru/base/Base.h b/include/cru/base/Base.h
index 6dfe995a..af4d38ff 100644
--- a/include/cru/base/Base.h
+++ b/include/cru/base/Base.h
@@ -1,8 +1,12 @@
#pragma once
#include <cassert>
#include <cstddef>
+#include <exception>
#include <functional>
#include <memory>
+#include <optional>
+#include <string>
+#include <string_view>
#ifdef CRU_IS_DLL
#ifdef CRU_BASE_EXPORT_API
@@ -105,4 +109,53 @@ inline void hash_combine(std::size_t& s, const T& v) {
#define CRU_DEFINE_CLASS_LOG_TAG(tag) \
private: \
constexpr static const char* kLogTag = tag;
+
+#ifdef _MSC_VER
+#pragma warning(disable : 4275)
+#endif
+class CRU_BASE_API Exception : public std::exception {
+ public:
+ explicit Exception(std::string message = "",
+ std::shared_ptr<std::exception> inner = nullptr);
+
+ ~Exception() override;
+
+ public:
+ std::string GetUtf8Message() const { return this->message_; }
+
+ std::exception* GetInner() const noexcept { return inner_.get(); }
+
+ const char* what() const noexcept override;
+
+ protected:
+ void SetMessage(std::string message) { message_ = std::move(message); }
+ void AppendMessage(const std::string& additional_message);
+ void AppendMessage(std::string_view additional_message);
+ void AppendMessage(std::optional<std::string_view> additional_message);
+
+ private:
+ std::string message_;
+ std::shared_ptr<std::exception> inner_;
+};
+
+class CRU_BASE_API PlatformException : public Exception {
+ public:
+ using Exception::Exception; // inherit constructors
+};
+
+class ErrnoException : public Exception {
+ public:
+ ErrnoException();
+ explicit ErrnoException(int error_code);
+ /**
+ * @brief will retrieve errno automatically.
+ */
+ explicit ErrnoException(std::string_view message);
+ ErrnoException(std::string_view message, int errno_code);
+
+ int GetErrnoCode() const { return errno_code_; }
+
+ private:
+ int errno_code_;
+};
} // namespace cru
diff --git a/include/cru/base/Exception.h b/include/cru/base/Exception.h
deleted file mode 100644
index c45cdc58..00000000
--- a/include/cru/base/Exception.h
+++ /dev/null
@@ -1,65 +0,0 @@
-#pragma once
-#include "Base.h"
-
-#include <exception>
-#include <optional>
-#include <string_view>
-#include <string>
-
-namespace cru {
-#ifdef _MSC_VER
-#pragma warning(disable : 4275)
-#endif
-class CRU_BASE_API Exception : public std::exception {
- public:
- explicit Exception(std::string message = "",
- std::shared_ptr<std::exception> inner = nullptr);
-
- ~Exception() override;
-
- public:
- std::string GetUtf8Message() const { return this->message_; }
-
- std::exception* GetInner() const noexcept { return inner_.get(); }
-
- const char* what() const noexcept override;
-
- protected:
- void SetMessage(std::string message) { message_ = std::move(message); }
- void AppendMessage(const std::string& additional_message);
- void AppendMessage(std::string_view additional_message);
- void AppendMessage(std::optional<std::string_view> additional_message);
-
- private:
- std::string message_;
- std::shared_ptr<std::exception> inner_;
-};
-
-class CRU_BASE_API PlatformException : public Exception {
- public:
- using Exception::Exception; // inherit constructors
-
- CRU_DEFAULT_DESTRUCTOR(PlatformException)
-};
-
-class CRU_BASE_API TextEncodeException : public Exception {
- public:
- using Exception::Exception;
-};
-
-class ErrnoException : public Exception {
- public:
- ErrnoException();
- explicit ErrnoException(int error_code);
- /**
- * @brief will retrieve errno automatically.
- */
- explicit ErrnoException(std::string_view message);
- ErrnoException(std::string_view message, int errno_code);
-
- int GetErrnoCode() const { return errno_code_; }
-
- private:
- int errno_code_;
-};
-} // namespace cru
diff --git a/include/cru/base/StringUtil.h b/include/cru/base/StringUtil.h
index 159f34c3..5c1c4be7 100644
--- a/include/cru/base/StringUtil.h
+++ b/include/cru/base/StringUtil.h
@@ -18,6 +18,11 @@
#include <vector>
namespace cru::string {
+class CRU_BASE_API TextEncodeException : public Exception {
+ public:
+ using Exception::Exception;
+};
+
std::weak_ordering CRU_BASE_API CaseInsensitiveCompare(std::string_view left,
std::string_view right);
std::string CRU_BASE_API TrimBegin(std::string_view str);
diff --git a/include/cru/base/SubProcess.h b/include/cru/base/SubProcess.h
index e8ba5936..609c4c4a 100644
--- a/include/cru/base/SubProcess.h
+++ b/include/cru/base/SubProcess.h
@@ -1,6 +1,5 @@
#pragma once
#include "Base.h"
-#include "Exception.h"
#include "io/Stream.h"
#include <chrono>
diff --git a/include/cru/base/Timer.h b/include/cru/base/Timer.h
index 7b467f18..955296b7 100644
--- a/include/cru/base/Timer.h
+++ b/include/cru/base/Timer.h
@@ -1,7 +1,6 @@
#pragma once
#include "Base.h"
-#include "Exception.h"
#include <algorithm>
#include <chrono>
diff --git a/include/cru/base/io/BufferStream.h b/include/cru/base/io/BufferStream.h
index 5ebff546..d4ee3837 100644
--- a/include/cru/base/io/BufferStream.h
+++ b/include/cru/base/io/BufferStream.h
@@ -1,7 +1,6 @@
#pragma once
#include "../Buffer.h"
-#include "../Exception.h"
#include "Stream.h"
#include <condition_variable>
diff --git a/include/cru/base/io/Stream.h b/include/cru/base/io/Stream.h
index 54801f05..503ccd27 100644
--- a/include/cru/base/io/Stream.h
+++ b/include/cru/base/io/Stream.h
@@ -2,7 +2,6 @@
#include "../Base.h"
#include "../Buffer.h"
-#include "../Exception.h"
#include <cstddef>
diff --git a/include/cru/base/platform/unix/EventLoop.h b/include/cru/base/platform/unix/EventLoop.h
index 0bc68138..b039cfbf 100644
--- a/include/cru/base/platform/unix/EventLoop.h
+++ b/include/cru/base/platform/unix/EventLoop.h
@@ -5,7 +5,6 @@
#endif
#include "../../Base.h"
-#include "../../Exception.h"
#include "../../Timer.h"
#include "UnixFile.h"
diff --git a/include/cru/base/platform/web/WebException.h b/include/cru/base/platform/web/WebException.h
index 85454f82..ba90bec7 100644
--- a/include/cru/base/platform/web/WebException.h
+++ b/include/cru/base/platform/web/WebException.h
@@ -2,7 +2,7 @@
#ifdef CRU_PLATFORM_EMSCRIPTEN
-#include "../Exception.h"
+#include "../../Base.h"
namespace cru::platform::web {
class WebException : public PlatformException {
diff --git a/include/cru/base/platform/win/Exception.h b/include/cru/base/platform/win/Exception.h
index 21851bb9..db98e7b6 100644
--- a/include/cru/base/platform/win/Exception.h
+++ b/include/cru/base/platform/win/Exception.h
@@ -6,7 +6,7 @@
#include "WinPreConfig.h"
-#include "../../Exception.h"
+#include "../../Base.h"
namespace cru::platform::win {
class CRU_BASE_API HResultError : public Exception {
diff --git a/include/cru/base/toml/TomlParser.h b/include/cru/base/toml/TomlParser.h
index ac7d0217..8d62f8dc 100644
--- a/include/cru/base/toml/TomlParser.h
+++ b/include/cru/base/toml/TomlParser.h
@@ -1,6 +1,6 @@
#pragma once
-#include "../Exception.h"
+#include "../Base.h"
#include "TomlDocument.h"
#include <optional>
diff --git a/include/cru/base/xml/XmlParser.h b/include/cru/base/xml/XmlParser.h
index 22b529d7..5aa2f6bb 100644
--- a/include/cru/base/xml/XmlParser.h
+++ b/include/cru/base/xml/XmlParser.h
@@ -1,6 +1,6 @@
#pragma once
-#include "../Exception.h"
+#include "../Base.h"
#include "XmlNode.h"
namespace cru::xml {
diff --git a/include/cru/platform/Base.h b/include/cru/platform/Base.h
index a31e8e08..b910cde1 100644
--- a/include/cru/platform/Base.h
+++ b/include/cru/platform/Base.h
@@ -1,7 +1,6 @@
#pragma once
#include <cru/base/Base.h>
-#include <cru/base/Exception.h>
#include <string>
diff --git a/include/cru/platform/gui/sdl/Base.h b/include/cru/platform/gui/sdl/Base.h
index d4b61dbf..89d2dad6 100644
--- a/include/cru/platform/gui/sdl/Base.h
+++ b/include/cru/platform/gui/sdl/Base.h
@@ -1,7 +1,6 @@
#pragma once
-#include <cru/base/Exception.h>
#include <cru/platform/Base.h>
namespace cru::platform::gui::sdl {
diff --git a/include/cru/platform/gui/xcb/Base.h b/include/cru/platform/gui/xcb/Base.h
index 0d72fbaa..124499a7 100644
--- a/include/cru/platform/gui/xcb/Base.h
+++ b/include/cru/platform/gui/xcb/Base.h
@@ -1,6 +1,5 @@
#pragma once
-#include <cru/base/Exception.h>
#include <cru/platform/Base.h>
#include <cru/platform/gui/Base.h>
diff --git a/include/cru/ui/mapper/Mapper.h b/include/cru/ui/mapper/Mapper.h
index e4a4c528..88081816 100644
--- a/include/cru/ui/mapper/Mapper.h
+++ b/include/cru/ui/mapper/Mapper.h
@@ -2,7 +2,6 @@
#include "../Base.h"
#include "cru/base/ClonablePtr.h"
-#include "cru/base/Exception.h"
#include "cru/base/xml/XmlNode.h"
#include <memory>
diff --git a/src/ThemeBuilder/components/StyleRuleSetEditor.cpp b/src/ThemeBuilder/components/StyleRuleSetEditor.cpp
index a4e15fe7..a2dd3177 100644
--- a/src/ThemeBuilder/components/StyleRuleSetEditor.cpp
+++ b/src/ThemeBuilder/components/StyleRuleSetEditor.cpp
@@ -1,5 +1,4 @@
#include "StyleRuleSetEditor.h"
-#include "cru/base/Exception.h"
#include "cru/ui/DeleteLater.h"
#include "cru/ui/ThemeManager.h"
#include "cru/ui/controls/FlexLayout.h"
diff --git a/src/ThemeBuilder/components/conditions/ConditionEditor.cpp b/src/ThemeBuilder/components/conditions/ConditionEditor.cpp
index 3435b36f..da0db194 100644
--- a/src/ThemeBuilder/components/conditions/ConditionEditor.cpp
+++ b/src/ThemeBuilder/components/conditions/ConditionEditor.cpp
@@ -5,7 +5,6 @@
#include "CompoundConditionEditor.h"
#include "FocusConditionEditor.h"
#include "NoConditionEditor.h"
-#include "cru/base/Exception.h"
#include "cru/ui/controls/FlexLayout.h"
namespace cru::theme_builder::components::conditions {
diff --git a/src/ThemeBuilder/components/stylers/StylerEditor.cpp b/src/ThemeBuilder/components/stylers/StylerEditor.cpp
index 4fd52b96..fbc97808 100644
--- a/src/ThemeBuilder/components/stylers/StylerEditor.cpp
+++ b/src/ThemeBuilder/components/stylers/StylerEditor.cpp
@@ -8,7 +8,6 @@
#include "MarginStylerEditor.h"
#include "PaddingStylerEditor.h"
#include "PreferredSizeStylerEditor.h"
-#include "cru/base/Exception.h"
#include "cru/ui/controls/FlexLayout.h"
#include "cru/ui/render/FlexLayoutRenderObject.h"
#include "cru/ui/style/Styler.h"
diff --git a/src/base/Base.cpp b/src/base/Base.cpp
index c6d9ac07..49b0c462 100644
--- a/src/base/Base.cpp
+++ b/src/base/Base.cpp
@@ -1,8 +1,46 @@
#include "cru/base/Base.h"
+#include <cerrno>
#include <exception>
+#include <format>
+#include <string_view>
namespace cru {
void UnreachableCode() { std::terminate(); }
void NotImplemented() { std::terminate(); }
+
+static constexpr auto NO_MESSAGE = "No message.";
+
+Exception::Exception(std::string message, std::shared_ptr<std::exception> inner)
+ : message_(std::move(message)), inner_(std::move(inner)) {}
+
+Exception::~Exception() {}
+
+const char* Exception::what() const noexcept { return message_.c_str(); }
+
+void Exception::AppendMessage(const std::string& additional_message) {
+ AppendMessage(std::string_view(additional_message));
+}
+
+void Exception::AppendMessage(std::string_view additional_message) {
+ message_ += ' ';
+ message_ += additional_message;
+}
+
+void Exception::AppendMessage(
+ std::optional<std::string_view> additional_message) {
+ if (additional_message) AppendMessage(*additional_message);
+}
+
+ErrnoException::ErrnoException() : ErrnoException(NO_MESSAGE) {}
+
+ErrnoException::ErrnoException(int errno_code)
+ : ErrnoException(NO_MESSAGE, errno_code) {}
+
+ErrnoException::ErrnoException(std::string_view message)
+ : ErrnoException(message, errno) {}
+
+ErrnoException::ErrnoException(std::string_view message, int errno_code)
+ : Exception(std::format("{} Errno is {}.", message, errno_code)),
+ errno_code_(errno_code) {}
} // namespace cru
diff --git a/src/base/Buffer.cpp b/src/base/Buffer.cpp
index 386e46cc..838c6f12 100644
--- a/src/base/Buffer.cpp
+++ b/src/base/Buffer.cpp
@@ -1,5 +1,4 @@
#include "cru/base/Buffer.h"
-#include "cru/base/Exception.h"
#include <cstring>
diff --git a/src/base/CMakeLists.txt b/src/base/CMakeLists.txt
index 3cffb125..aa9a8a6b 100644
--- a/src/base/CMakeLists.txt
+++ b/src/base/CMakeLists.txt
@@ -1,7 +1,6 @@
add_library(CruBase
Base.cpp
Buffer.cpp
- Exception.cpp
PropertyTree.cpp
StringUtil.cpp
SubProcess.cpp
diff --git a/src/base/Exception.cpp b/src/base/Exception.cpp
deleted file mode 100644
index 5bfe27db..00000000
--- a/src/base/Exception.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-#include "cru/base/Exception.h"
-
-#include <cerrno>
-#include <format>
-#include <string_view>
-
-constexpr auto NO_MESSAGE = "No message.";
-
-namespace cru {
-Exception::Exception(std::string message, std::shared_ptr<std::exception> inner)
- : message_(std::move(message)), inner_(std::move(inner)) {}
-
-Exception::~Exception() {}
-
-const char* Exception::what() const noexcept { return message_.c_str(); }
-
-void Exception::AppendMessage(const std::string& additional_message) {
- AppendMessage(std::string_view(additional_message));
-}
-
-void Exception::AppendMessage(std::string_view additional_message) {
- message_ += ' ';
- message_ += additional_message;
-}
-
-void Exception::AppendMessage(
- std::optional<std::string_view> additional_message) {
- if (additional_message) AppendMessage(*additional_message);
-}
-
-ErrnoException::ErrnoException() : ErrnoException(NO_MESSAGE) {}
-
-ErrnoException::ErrnoException(int errno_code)
- : ErrnoException(NO_MESSAGE, errno_code) {}
-
-ErrnoException::ErrnoException(std::string_view message)
- : ErrnoException(message, errno) {}
-
-ErrnoException::ErrnoException(std::string_view message, int errno_code)
- : Exception(std::format("{} Errno is {}.", message, errno_code)),
- errno_code_(errno_code) {}
-} // namespace cru
diff --git a/src/base/PropertyTree.cpp b/src/base/PropertyTree.cpp
index ea47dabc..fb640761 100644
--- a/src/base/PropertyTree.cpp
+++ b/src/base/PropertyTree.cpp
@@ -1,5 +1,4 @@
#include "cru/base/PropertyTree.h"
-#include "cru/base/Exception.h"
namespace cru {
std::string PropertySubTreeRef::CombineKey(std::string_view left,
diff --git a/src/base/StringUtil.cpp b/src/base/StringUtil.cpp
index 5c8686dd..a5cc3122 100644
--- a/src/base/StringUtil.cpp
+++ b/src/base/StringUtil.cpp
@@ -1,6 +1,5 @@
#include "cru/base/StringUtil.h"
#include "cru/base/Base.h"
-#include "cru/base/Exception.h"
#include <algorithm>
#include <cctype>
diff --git a/src/base/io/CFileStream.cpp b/src/base/io/CFileStream.cpp
index f0d4790b..db477077 100644
--- a/src/base/io/CFileStream.cpp
+++ b/src/base/io/CFileStream.cpp
@@ -1,5 +1,4 @@
#include "cru/base/io/CFileStream.h"
-#include "cru/base/Exception.h"
#include "cru/base/io/Stream.h"
#include <cstdio>
diff --git a/src/base/io/MemoryStream.cpp b/src/base/io/MemoryStream.cpp
index bba0e618..4d289197 100644
--- a/src/base/io/MemoryStream.cpp
+++ b/src/base/io/MemoryStream.cpp
@@ -1,7 +1,6 @@
#include "cru/base/io/MemoryStream.h"
#include <cstring>
-#include "cru/base/Exception.h"
#include "cru/base/io/Stream.h"
namespace cru::io {
diff --git a/src/base/io/Resource.cpp b/src/base/io/Resource.cpp
index 48045e59..df7277b6 100644
--- a/src/base/io/Resource.cpp
+++ b/src/base/io/Resource.cpp
@@ -1,6 +1,5 @@
#include "cru/base/io/Resource.h"
#include "cru/base/Base.h"
-#include "cru/base/Exception.h"
#if defined(CRU_PLATFORM_OSX)
#include <CoreFoundation/CoreFoundation.h>
diff --git a/src/base/io/Stream.cpp b/src/base/io/Stream.cpp
index e07f2899..56db547a 100644
--- a/src/base/io/Stream.cpp
+++ b/src/base/io/Stream.cpp
@@ -1,5 +1,4 @@
#include "cru/base/io/Stream.h"
-#include "cru/base/Exception.h"
#include <algorithm>
#include <format>
diff --git a/src/base/platform/unix/EventLoop.cpp b/src/base/platform/unix/EventLoop.cpp
index 86c0deb9..200f6abb 100644
--- a/src/base/platform/unix/EventLoop.cpp
+++ b/src/base/platform/unix/EventLoop.cpp
@@ -1,5 +1,4 @@
#include "cru/base/platform/unix/EventLoop.h"
-#include "cru/base/Exception.h"
#include <poll.h>
#include <algorithm>
diff --git a/src/base/platform/unix/PosixSpawnSubProcess.cpp b/src/base/platform/unix/PosixSpawnSubProcess.cpp
index 7362175f..c287d253 100644
--- a/src/base/platform/unix/PosixSpawnSubProcess.cpp
+++ b/src/base/platform/unix/PosixSpawnSubProcess.cpp
@@ -1,5 +1,4 @@
#include "cru/base/platform/unix/PosixSpawnSubProcess.h"
-#include "cru/base/Exception.h"
#include "cru/base/Guard.h"
#include "cru/base/SubProcess.h"
#include "cru/base/log/Logger.h"
diff --git a/src/base/platform/unix/UnixFile.cpp b/src/base/platform/unix/UnixFile.cpp
index 00ed3b9c..001b4fb9 100644
--- a/src/base/platform/unix/UnixFile.cpp
+++ b/src/base/platform/unix/UnixFile.cpp
@@ -1,5 +1,4 @@
#include "cru/base/platform/unix/UnixFile.h"
-#include "cru/base/Exception.h"
#include "cru/base/log/Logger.h"
#include <fcntl.h>
diff --git a/src/base/platform/unix/UnixFileStream.cpp b/src/base/platform/unix/UnixFileStream.cpp
index 43ff2244..df1ddffa 100644
--- a/src/base/platform/unix/UnixFileStream.cpp
+++ b/src/base/platform/unix/UnixFileStream.cpp
@@ -1,5 +1,4 @@
#include "cru/base/platform/unix/UnixFileStream.h"
-#include "cru/base/Exception.h"
#include "cru/base/io/Stream.h"
#include <fcntl.h>
diff --git a/src/base/platform/win/StreamConvert.cpp b/src/base/platform/win/StreamConvert.cpp
index f7a0537c..e0266765 100644
--- a/src/base/platform/win/StreamConvert.cpp
+++ b/src/base/platform/win/StreamConvert.cpp
@@ -1,7 +1,6 @@
#include "cru/base/platform/win/StreamConvert.h"
#include "BrigdeComStream.h"
#include "Win32FileStreamPrivate.h"
-#include "cru/base/Exception.h"
#include "cru/base/io/MemoryStream.h"
#include "cru/base/io/OpenFileFlag.h"
#include "cru/base/platform/win/ComAutoInit.h"
diff --git a/src/platform/graphics/Geometry.cpp b/src/platform/graphics/Geometry.cpp
index 3d88a644..859a7bd6 100644
--- a/src/platform/graphics/Geometry.cpp
+++ b/src/platform/graphics/Geometry.cpp
@@ -1,6 +1,5 @@
#include "cru/platform/graphics/Geometry.h"
-#include "cru/base/Exception.h"
#include "cru/base/StringUtil.h"
#include "cru/platform/graphics/Factory.h"
diff --git a/src/platform/graphics/cairo/CairoImageFactory.cpp b/src/platform/graphics/cairo/CairoImageFactory.cpp
index a634d135..f4707090 100644
--- a/src/platform/graphics/cairo/CairoImageFactory.cpp
+++ b/src/platform/graphics/cairo/CairoImageFactory.cpp
@@ -1,5 +1,4 @@
#include "cru/platform/graphics/cairo/CairoImageFactory.h"
-#include "cru/base/Exception.h"
#include "cru/platform/graphics/cairo/Base.h"
#include "cru/platform/graphics/cairo/CairoImage.h"
diff --git a/src/platform/gui/UiApplication.cpp b/src/platform/gui/UiApplication.cpp
index 086440c0..f035224f 100644
--- a/src/platform/gui/UiApplication.cpp
+++ b/src/platform/gui/UiApplication.cpp
@@ -1,7 +1,6 @@
#include "cru/platform/gui/UiApplication.h"
#include "cru/base/Base.h"
-#include "cru/base/Exception.h"
namespace cru::platform::gui {
diff --git a/src/platform/gui/osx/Cursor.mm b/src/platform/gui/osx/Cursor.mm
index e9d8f484..23088e2a 100644
--- a/src/platform/gui/osx/Cursor.mm
+++ b/src/platform/gui/osx/Cursor.mm
@@ -1,6 +1,5 @@
#include "cru/platform/gui/osx/Cursor.h"
#include "CursorPrivate.h"
-#include "cru/base/Exception.h"
#include <memory>
diff --git a/src/platform/gui/osx/Keyboard.mm b/src/platform/gui/osx/Keyboard.mm
index ea1d2d4e..e8d22045 100644
--- a/src/platform/gui/osx/Keyboard.mm
+++ b/src/platform/gui/osx/Keyboard.mm
@@ -1,6 +1,5 @@
#include "cru/platform/gui/osx/Keyboard.h"
#import "KeyboardPrivate.h"
-#include "cru/base/Exception.h"
#import <AppKit/NSText.h>
#import <Carbon/Carbon.h>
diff --git a/src/platform/gui/xcb/Cursor.cpp b/src/platform/gui/xcb/Cursor.cpp
index 69d904df..2feb87dc 100644
--- a/src/platform/gui/xcb/Cursor.cpp
+++ b/src/platform/gui/xcb/Cursor.cpp
@@ -1,5 +1,4 @@
#include "cru/platform/gui/xcb/Cursor.h"
-#include "cru/base/Exception.h"
#include "cru/platform/gui/xcb/UiApplication.h"
#include <xcb/xcb.h>
diff --git a/src/platform/gui/xcb/Input.cpp b/src/platform/gui/xcb/Input.cpp
index 9b6d76c2..3482d3ab 100644
--- a/src/platform/gui/xcb/Input.cpp
+++ b/src/platform/gui/xcb/Input.cpp
@@ -1,5 +1,4 @@
#include "cru/platform/gui/xcb/Input.h"
-#include "cru/base/Exception.h"
#include "cru/base/Guard.h"
#include "cru/platform/gui/xcb/UiApplication.h"
diff --git a/src/ui/mapper/CursorMapper.cpp b/src/ui/mapper/CursorMapper.cpp
index c0c8e8d2..6a08b788 100644
--- a/src/ui/mapper/CursorMapper.cpp
+++ b/src/ui/mapper/CursorMapper.cpp
@@ -1,6 +1,5 @@
#include "cru/ui/mapper/CursorMapper.h"
#include "../Helper.h"
-#include "cru/base/Exception.h"
#include "cru/platform/gui/Cursor.h"
#include "cru/platform/gui/UiApplication.h"
diff --git a/src/ui/mapper/style/ClickStateConditionMapper.cpp b/src/ui/mapper/style/ClickStateConditionMapper.cpp
index badaca85..16ef1209 100644
--- a/src/ui/mapper/style/ClickStateConditionMapper.cpp
+++ b/src/ui/mapper/style/ClickStateConditionMapper.cpp
@@ -1,6 +1,5 @@
#include "cru/ui/mapper/style/ClickStateConditionMapper.h"
#include "cru/base/ClonablePtr.h"
-#include "cru/base/Exception.h"
#include "cru/base/StringUtil.h"
#include "cru/ui/helper/ClickDetector.h"
#include "cru/ui/style/Condition.h"
diff --git a/src/ui/mapper/style/StyleRuleMapper.cpp b/src/ui/mapper/style/StyleRuleMapper.cpp
index 345728d2..f14d11da 100644
--- a/src/ui/mapper/style/StyleRuleMapper.cpp
+++ b/src/ui/mapper/style/StyleRuleMapper.cpp
@@ -1,7 +1,5 @@
#include "cru/ui/mapper/style/StyleRuleMapper.h"
#include "cru/base/ClonablePtr.h"
-#include "cru/base/Exception.h"
-#include "cru/base/log/Logger.h"
#include "cru/ui/mapper/MapperRegistry.h"
#include "cru/ui/mapper/style/IConditionMapper.h"
#include "cru/ui/mapper/style/IStylerMapper.h"
diff --git a/src/ui/render/RenderObject.cpp b/src/ui/render/RenderObject.cpp
index d10fd897..fcd44143 100644
--- a/src/ui/render/RenderObject.cpp
+++ b/src/ui/render/RenderObject.cpp
@@ -1,6 +1,5 @@
#include "cru/ui/render/RenderObject.h"
-#include "cru/base/Exception.h"
#include "cru/base/log/Logger.h"
#include "cru/platform/GraphicsBase.h"
#include "cru/ui/DebugFlags.h"
diff --git a/src/ui/style/StyleRuleSet.cpp b/src/ui/style/StyleRuleSet.cpp
index b7a82577..e1b91e4d 100644
--- a/src/ui/style/StyleRuleSet.cpp
+++ b/src/ui/style/StyleRuleSet.cpp
@@ -1,6 +1,5 @@
#include "cru/ui/style/StyleRuleSet.h"
#include "cru/base/Event.h"
-#include "cru/base/Exception.h"
#include "cru/ui/controls/Control.h"
#include "cru/ui/model/IListChangeNotify.h"