diff options
| author | Tom Englund <tomenglund26@gmail.com> | 2024-06-22 00:40:45 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-22 00:40:45 +0200 |
| commit | fa022901cf2c9acdae9e9a24a68b9148d44f8627 (patch) | |
| tree | 5bb971b1d635505ba727eb8dacc6b6e3a9a086d5 /src/protocols | |
| parent | 4a8b13ea4f8e5111390471c9212d10d4d032e837 (diff) | |
surface: add virtual destructor to surfacerole to avoid undefined behaviour (#6620)
* surfacerole: add virtual destructor
all classes that will be derived from should have a virtual destructor
otherwise deleting an instance via pointer to a base class is undefined
behaviour, layershell/xdgshell hits this with std::default_delete in the
new sharedptr implentation.
* includes: fix missing includes
fix missing includes for no precompiled headers builds, and remove a
redefiniton of a macro already defined in macros.hpp
Diffstat (limited to 'src/protocols')
| -rw-r--r-- | src/protocols/types/SurfaceRole.hpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/protocols/types/SurfaceRole.hpp b/src/protocols/types/SurfaceRole.hpp index 05c0ea66..faaf70ee 100644 --- a/src/protocols/types/SurfaceRole.hpp +++ b/src/protocols/types/SurfaceRole.hpp @@ -11,4 +11,5 @@ enum eSurfaceRole { class ISurfaceRole { public: virtual eSurfaceRole role() = 0; + virtual ~ISurfaceRole() = default; }; |
