mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-26 15:05:59 +01:00
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
This commit is contained in:
parent
4a8b13ea4f
commit
fa022901cf
5 changed files with 6 additions and 3 deletions
|
@ -5,6 +5,7 @@
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include "../includes.hpp"
|
#include "../includes.hpp"
|
||||||
#include "../helpers/math/Math.hpp"
|
#include "../helpers/math/Math.hpp"
|
||||||
|
#include "../helpers/memory/Memory.hpp"
|
||||||
|
|
||||||
struct wlr_buffer;
|
struct wlr_buffer;
|
||||||
struct wlr_xcursor_manager;
|
struct wlr_xcursor_manager;
|
||||||
|
|
|
@ -11,4 +11,5 @@ enum eSurfaceRole {
|
||||||
class ISurfaceRole {
|
class ISurfaceRole {
|
||||||
public:
|
public:
|
||||||
virtual eSurfaceRole role() = 0;
|
virtual eSurfaceRole role() = 0;
|
||||||
|
virtual ~ISurfaceRole() = default;
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
#include "../helpers/WLListener.hpp"
|
#include "../helpers/WLListener.hpp"
|
||||||
#include "../helpers/signal/Signal.hpp"
|
#include "../helpers/signal/Signal.hpp"
|
||||||
|
#include "../helpers/memory/Memory.hpp"
|
||||||
#include "../helpers/math/Math.hpp"
|
#include "../helpers/math/Math.hpp"
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "../helpers/signal/Signal.hpp"
|
#include "../helpers/signal/Signal.hpp"
|
||||||
|
#include "../helpers/memory/Memory.hpp"
|
||||||
#include "../helpers/WLListener.hpp"
|
#include "../helpers/WLListener.hpp"
|
||||||
#include "../macros.hpp"
|
#include "../macros.hpp"
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include "../helpers/signal/Signal.hpp"
|
#include "../helpers/signal/Signal.hpp"
|
||||||
|
#include "../helpers/memory/Memory.hpp"
|
||||||
|
|
||||||
#include "XSurface.hpp"
|
#include "XSurface.hpp"
|
||||||
|
|
||||||
|
@ -31,8 +32,6 @@ class CXWayland {
|
||||||
|
|
||||||
inline std::unique_ptr<CXWayland> g_pXWayland;
|
inline std::unique_ptr<CXWayland> g_pXWayland;
|
||||||
|
|
||||||
#define HYPRATOM(name) \
|
|
||||||
{ name, 0 }
|
|
||||||
inline std::unordered_map<std::string, uint32_t> HYPRATOMS = {
|
inline std::unordered_map<std::string, uint32_t> HYPRATOMS = {
|
||||||
HYPRATOM("_NET_SUPPORTED"),
|
HYPRATOM("_NET_SUPPORTED"),
|
||||||
HYPRATOM("_NET_SUPPORTING_WM_CHECK"),
|
HYPRATOM("_NET_SUPPORTING_WM_CHECK"),
|
||||||
|
|
Loading…
Reference in a new issue