summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-05-31 16:08:42 +0300
committerAndrei Karas <akaras@inbox.ru>2014-05-31 16:08:42 +0300
commit499a0bc5b9c7d57c227eaf16d11b14865bd066d5 (patch)
treed7c59dc2bbe2c70a50beb6c643b7130696f7e360 /src
parent0bb3d04819283bebb2e499d8d3b4a6acbbc7e790 (diff)
downloadmanaplus-499a0bc5b9c7d57c227eaf16d11b14865bd066d5.tar.gz
manaplus-499a0bc5b9c7d57c227eaf16d11b14865bd066d5.tar.bz2
manaplus-499a0bc5b9c7d57c227eaf16d11b14865bd066d5.tar.xz
manaplus-499a0bc5b9c7d57c227eaf16d11b14865bd066d5.zip
Add missing notfinal/final to classes.
Diffstat (limited to 'src')
-rw-r--r--src/being/actorsprite.h2
-rw-r--r--src/being/being.h3
-rw-r--r--src/being/compoundsprite.h2
-rw-r--r--src/gui/models/avatarlistmodel.h2
-rw-r--r--src/gui/models/colormodel.h2
-rw-r--r--src/gui/models/extendedlistmodel.h2
-rw-r--r--src/gui/models/extendednamesmodel.h2
-rw-r--r--src/gui/models/namesmodel.h2
-rw-r--r--src/gui/models/typelistmodel.h2
-rw-r--r--src/gui/widgets/basiccontainer.h4
-rw-r--r--src/gui/widgets/characterviewbase.h4
-rw-r--r--src/gui/widgets/container.h2
-rw-r--r--src/gui/widgets/listbox.h6
-rw-r--r--src/gui/widgets/popup.h6
-rw-r--r--src/gui/widgets/setupitem.h6
-rw-r--r--src/gui/widgets/shortcutcontainer.h6
-rw-r--r--src/gui/widgets/statuswindowattrs.h2
-rw-r--r--src/gui/widgets/tabs/chattab.h2
-rw-r--r--src/gui/widgets/tabs/debugwindowtabs.h2
-rw-r--r--src/gui/widgets/tabs/setuptab.h6
-rw-r--r--src/gui/widgets/tabs/setuptabscroll.h2
-rw-r--r--src/gui/widgets/tabs/socialtab.h2
-rw-r--r--src/gui/widgets/tabs/tab.h6
-rw-r--r--src/gui/widgets/textfield.h8
-rw-r--r--src/gui/widgets/widget.h2
-rw-r--r--src/gui/widgets/widgetgroup.h6
-rw-r--r--src/gui/widgets/window.h6
-rw-r--r--src/gui/widgets/windowcontainer.h2
-rw-r--r--src/gui/windows/confirmdialog.h4
-rw-r--r--src/listeners/playerlistener.h2
-rw-r--r--src/net/ea/adminhandler.h2
-rw-r--r--src/net/ea/beinghandler.h2
-rw-r--r--src/net/ea/buysellhandler.h2
-rw-r--r--src/net/ea/charserverhandler.h2
-rw-r--r--src/net/ea/chathandler.h2
-rw-r--r--src/net/ea/equipbackend.h2
-rw-r--r--src/net/ea/gamehandler.h2
-rw-r--r--src/net/ea/gui/guildtab.h4
-rw-r--r--src/net/ea/gui/partytab.h4
-rw-r--r--src/net/ea/guildhandler.h2
-rw-r--r--src/net/ea/inventoryhandler.h2
-rw-r--r--src/net/ea/loginhandler.cpp2
-rw-r--r--src/net/ea/loginhandler.h2
-rw-r--r--src/net/ea/npchandler.h2
-rw-r--r--src/net/ea/partyhandler.h2
-rw-r--r--src/net/ea/playerhandler.h2
-rw-r--r--src/net/ea/skillhandler.h2
-rw-r--r--src/net/ea/token.h4
-rw-r--r--src/net/ea/tradehandler.h2
-rw-r--r--src/net/eathena/gui/guildtab.h2
-rw-r--r--src/net/eathena/gui/partytab.h2
-rw-r--r--src/net/eathena/messagehandler.h2
-rw-r--r--src/net/messagein.h2
-rw-r--r--src/net/tmwa/gui/guildtab.h2
-rw-r--r--src/net/tmwa/messagehandler.h2
-rw-r--r--src/particle/imageparticle.h2
-rw-r--r--src/particle/particle.h2
-rw-r--r--src/resources/image.h2
-rw-r--r--src/resources/imageset.h2
-rw-r--r--src/utils/dtor.h4
60 files changed, 89 insertions, 84 deletions
diff --git a/src/being/actorsprite.h b/src/being/actorsprite.h
index 7447675a1..7cffa3213 100644
--- a/src/being/actorsprite.h
+++ b/src/being/actorsprite.h
@@ -45,7 +45,7 @@ class ActorSpriteListener;
struct SpriteDisplay;
-class ActorSprite : public CompoundSprite, public Actor
+class ActorSprite notfinal : public CompoundSprite, public Actor
{
public:
explicit ActorSprite(const int id);
diff --git a/src/being/being.h b/src/being/being.h
index 65d661142..40c9af4ba 100644
--- a/src/being/being.h
+++ b/src/being/being.h
@@ -81,7 +81,8 @@ struct NextSoundInfo
int time;
};
-class Being : public ActorSprite, public ConfigListener
+class Being notfinal : public ActorSprite,
+ public ConfigListener
{
public:
friend class BeingEquipBackend;
diff --git a/src/being/compoundsprite.h b/src/being/compoundsprite.h
index 05559045e..02c057ef7 100644
--- a/src/being/compoundsprite.h
+++ b/src/being/compoundsprite.h
@@ -32,7 +32,7 @@
class CompoundItem;
class Image;
-class CompoundSprite : public Sprite
+class CompoundSprite notfinal : public Sprite
{
public:
typedef std::vector<Sprite*>::iterator SpriteIterator;
diff --git a/src/gui/models/avatarlistmodel.h b/src/gui/models/avatarlistmodel.h
index 2bbd64878..b6630ee47 100644
--- a/src/gui/models/avatarlistmodel.h
+++ b/src/gui/models/avatarlistmodel.h
@@ -28,7 +28,7 @@
#include <string>
-class AvatarListModel : public ListModel
+class AvatarListModel notfinal : public ListModel
{
public:
virtual Avatar *getAvatarAt(const int i) A_WARN_UNUSED = 0;
diff --git a/src/gui/models/colormodel.h b/src/gui/models/colormodel.h
index 068da0dd9..058eed4eb 100644
--- a/src/gui/models/colormodel.h
+++ b/src/gui/models/colormodel.h
@@ -32,7 +32,7 @@
class Color;
class Widget2;
-class ColorModel : public ListModel
+class ColorModel final : public ListModel
{
public:
ColorModel();
diff --git a/src/gui/models/extendedlistmodel.h b/src/gui/models/extendedlistmodel.h
index 5d859e781..4edfebc3b 100644
--- a/src/gui/models/extendedlistmodel.h
+++ b/src/gui/models/extendedlistmodel.h
@@ -25,7 +25,7 @@
#include "gui/models/listmodel.h"
-class ExtendedListModel : public ListModel
+class ExtendedListModel notfinal : public ListModel
{
public:
virtual const Image *getImageAt(int i) A_WARN_UNUSED = 0;
diff --git a/src/gui/models/extendednamesmodel.h b/src/gui/models/extendednamesmodel.h
index 383a93951..7acaf65c6 100644
--- a/src/gui/models/extendednamesmodel.h
+++ b/src/gui/models/extendednamesmodel.h
@@ -25,7 +25,7 @@
#include "gui/models/extendedlistmodel.h"
-class ExtendedNamesModel : public ExtendedListModel
+class ExtendedNamesModel notfinal : public ExtendedListModel
{
public:
ExtendedNamesModel();
diff --git a/src/gui/models/namesmodel.h b/src/gui/models/namesmodel.h
index 96d16de36..59bb947e9 100644
--- a/src/gui/models/namesmodel.h
+++ b/src/gui/models/namesmodel.h
@@ -27,7 +27,7 @@
#include "localconsts.h"
-class NamesModel : public ListModel
+class NamesModel notfinal : public ListModel
{
public:
NamesModel();
diff --git a/src/gui/models/typelistmodel.h b/src/gui/models/typelistmodel.h
index b7de67cff..2db290e70 100644
--- a/src/gui/models/typelistmodel.h
+++ b/src/gui/models/typelistmodel.h
@@ -27,7 +27,7 @@
/**
* Server Type List Model
*/
-class TypeListModel : public ListModel
+class TypeListModel final : public ListModel
{
public:
TypeListModel()
diff --git a/src/gui/widgets/basiccontainer.h b/src/gui/widgets/basiccontainer.h
index 8a5d7b9a4..85067daff 100644
--- a/src/gui/widgets/basiccontainer.h
+++ b/src/gui/widgets/basiccontainer.h
@@ -78,8 +78,8 @@
* @see Container
* @since 0.6.0
*/
-class BasicContainer : public Widget,
- public DeathListener
+class BasicContainer notfinal : public Widget,
+ public DeathListener
{
public:
explicit BasicContainer(const Widget2 *const widget) :
diff --git a/src/gui/widgets/characterviewbase.h b/src/gui/widgets/characterviewbase.h
index 16b6c3e0d..6c0fd9434 100644
--- a/src/gui/widgets/characterviewbase.h
+++ b/src/gui/widgets/characterviewbase.h
@@ -29,8 +29,8 @@
#include "localconsts.h"
-class CharacterViewBase : public Container,
- public ActionListener
+class CharacterViewBase notfinal : public Container,
+ public ActionListener
{
public:
A_DELETE_COPY(CharacterViewBase)
diff --git a/src/gui/widgets/container.h b/src/gui/widgets/container.h
index 262d7327a..7252a0ed7 100644
--- a/src/gui/widgets/container.h
+++ b/src/gui/widgets/container.h
@@ -34,7 +34,7 @@
*
* This container is also non-opaque by default.
*/
-class Container : public BasicContainer2
+class Container notfinal : public BasicContainer2
{
public:
explicit Container(const Widget2 *const widget);
diff --git a/src/gui/widgets/listbox.h b/src/gui/widgets/listbox.h
index e425b48ca..d6cd12ddc 100644
--- a/src/gui/widgets/listbox.h
+++ b/src/gui/widgets/listbox.h
@@ -89,9 +89,9 @@ class Widget2;
*
* \ingroup GUI
*/
-class ListBox : public Widget,
- public MouseListener,
- public KeyListener
+class ListBox notfinal : public Widget,
+ public MouseListener,
+ public KeyListener
{
public:
/**
diff --git a/src/gui/widgets/popup.h b/src/gui/widgets/popup.h
index 5067b4658..eb26dd4b3 100644
--- a/src/gui/widgets/popup.h
+++ b/src/gui/widgets/popup.h
@@ -45,9 +45,9 @@ class WindowContainer;
*
* \ingroup GUI
*/
-class Popup : public Container,
- public MouseListener,
- public WidgetListener
+class Popup notfinal : public Container,
+ public MouseListener,
+ public WidgetListener
{
public:
/**
diff --git a/src/gui/widgets/setupitem.h b/src/gui/widgets/setupitem.h
index 03681ad90..849ca5fd1 100644
--- a/src/gui/widgets/setupitem.h
+++ b/src/gui/widgets/setupitem.h
@@ -42,8 +42,8 @@ class Slider;
class SliderList;
class TextField;
-class SetupItem : public ActionListener,
- public Widget2
+class SetupItem notfinal : public ActionListener,
+ public Widget2
{
public:
enum
@@ -462,7 +462,7 @@ class SetupItemSlider2 final : public SetupItem
bool mDoNotAlign;
};
-class SetupItemSliderList : public SetupItem
+class SetupItemSliderList notfinal : public SetupItem
{
public:
A_DELETE_COPY(SetupItemSliderList)
diff --git a/src/gui/widgets/shortcutcontainer.h b/src/gui/widgets/shortcutcontainer.h
index d4d4ac4bf..6ef3af452 100644
--- a/src/gui/widgets/shortcutcontainer.h
+++ b/src/gui/widgets/shortcutcontainer.h
@@ -36,9 +36,9 @@ class ImageCollection;
*
* \ingroup GUI
*/
-class ShortcutContainer : public Widget,
- public WidgetListener,
- public MouseListener
+class ShortcutContainer notfinal : public Widget,
+ public WidgetListener,
+ public MouseListener
{
public:
A_DELETE_COPY(ShortcutContainer)
diff --git a/src/gui/widgets/statuswindowattrs.h b/src/gui/widgets/statuswindowattrs.h
index 1cc755907..93797a8c1 100644
--- a/src/gui/widgets/statuswindowattrs.h
+++ b/src/gui/widgets/statuswindowattrs.h
@@ -36,7 +36,7 @@
class Button;
class LayoutHelper;
-class AttrDisplay : public Container
+class AttrDisplay notfinal : public Container
{
public:
enum Type
diff --git a/src/gui/widgets/tabs/chattab.h b/src/gui/widgets/tabs/chattab.h
index b22074623..6f0f042b7 100644
--- a/src/gui/widgets/tabs/chattab.h
+++ b/src/gui/widgets/tabs/chattab.h
@@ -36,7 +36,7 @@ class ScrollArea;
/**
* A tab for the chat window. This is special to ease chat handling.
*/
-class ChatTab : public Tab
+class ChatTab notfinal : public Tab
{
public:
/**
diff --git a/src/gui/widgets/tabs/debugwindowtabs.h b/src/gui/widgets/tabs/debugwindowtabs.h
index 4230bc09a..d44fe8dc4 100644
--- a/src/gui/widgets/tabs/debugwindowtabs.h
+++ b/src/gui/widgets/tabs/debugwindowtabs.h
@@ -27,7 +27,7 @@
class Label;
-class DebugTab : public Container
+class DebugTab notfinal : public Container
{
friend class DebugWindow;
diff --git a/src/gui/widgets/tabs/setuptab.h b/src/gui/widgets/tabs/setuptab.h
index 4d6049b6a..2f03e0e92 100644
--- a/src/gui/widgets/tabs/setuptab.h
+++ b/src/gui/widgets/tabs/setuptab.h
@@ -35,9 +35,9 @@
/**
* A container for the contents of a tab in the setup window.
*/
-class SetupTab : public Container,
- public ActionListener,
- public WidgetListener
+class SetupTab notfinal : public Container,
+ public ActionListener,
+ public WidgetListener
{
public:
A_DELETE_COPY(SetupTab)
diff --git a/src/gui/widgets/tabs/setuptabscroll.h b/src/gui/widgets/tabs/setuptabscroll.h
index f7aa628c9..dec56c13e 100644
--- a/src/gui/widgets/tabs/setuptabscroll.h
+++ b/src/gui/widgets/tabs/setuptabscroll.h
@@ -32,7 +32,7 @@ class SetupItem;
class ScrollArea;
class VertContainer;
-class SetupTabScroll : public SetupTab
+class SetupTabScroll notfinal : public SetupTab
{
public:
explicit SetupTabScroll(const Widget2 *const widget);
diff --git a/src/gui/widgets/tabs/socialtab.h b/src/gui/widgets/tabs/socialtab.h
index 31fb5d938..57bf03d95 100644
--- a/src/gui/widgets/tabs/socialtab.h
+++ b/src/gui/widgets/tabs/socialtab.h
@@ -36,7 +36,7 @@
class AvatarListModel;
-class SocialTab : public Tab
+class SocialTab notfinal : public Tab
{
public:
A_DELETE_COPY(SocialTab)
diff --git a/src/gui/widgets/tabs/tab.h b/src/gui/widgets/tabs/tab.h
index 4a88a5400..610181471 100644
--- a/src/gui/widgets/tabs/tab.h
+++ b/src/gui/widgets/tabs/tab.h
@@ -81,9 +81,9 @@ class TabbedArea;
/**
* A tab, the same as the Guichan tab in 0.8, but extended
*/
-class Tab : public BasicContainer,
- public MouseListener,
- public WidgetListener
+class Tab notfinal : public BasicContainer,
+ public MouseListener,
+ public WidgetListener
{
public:
explicit Tab(const Widget2 *const widget);
diff --git a/src/gui/widgets/textfield.h b/src/gui/widgets/textfield.h
index 1af5978b1..d2cdcd473 100644
--- a/src/gui/widgets/textfield.h
+++ b/src/gui/widgets/textfield.h
@@ -81,10 +81,10 @@ class PopupMenu;
*
* \ingroup GUI
*/
-class TextField : public Widget,
- public FocusListener,
- public KeyListener,
- public MouseListener
+class TextField notfinal : public Widget,
+ public FocusListener,
+ public KeyListener,
+ public MouseListener
{
public:
/**
diff --git a/src/gui/widgets/widget.h b/src/gui/widgets/widget.h
index f3e2fdb66..8109d142d 100644
--- a/src/gui/widgets/widget.h
+++ b/src/gui/widgets/widget.h
@@ -96,7 +96,7 @@ class WidgetListener;
* @author Per Larsson.
* @since 0.1.0
*/
-class Widget : public Widget2
+class Widget notfinal : public Widget2
{
public:
friend class BasicContainer;
diff --git a/src/gui/widgets/widgetgroup.h b/src/gui/widgets/widgetgroup.h
index 051234cda..384eab284 100644
--- a/src/gui/widgets/widgetgroup.h
+++ b/src/gui/widgets/widgetgroup.h
@@ -28,9 +28,9 @@
#include "localconsts.h"
-class WidgetGroup : public Container,
- public WidgetListener,
- public ActionListener
+class WidgetGroup notfinal : public Container,
+ public WidgetListener,
+ public ActionListener
{
public:
A_DELETE_COPY(WidgetGroup)
diff --git a/src/gui/widgets/window.h b/src/gui/widgets/window.h
index fea0883cf..4fedf69ac 100644
--- a/src/gui/widgets/window.h
+++ b/src/gui/widgets/window.h
@@ -90,9 +90,9 @@ class WindowContainer;
*
* \ingroup GUI
*/
-class Window : public BasicContainer2,
- public MouseListener,
- private WidgetListener
+class Window notfinal : public BasicContainer2,
+ public MouseListener,
+ public WidgetListener
{
public:
/**
diff --git a/src/gui/widgets/windowcontainer.h b/src/gui/widgets/windowcontainer.h
index a822fadb5..9b4328128 100644
--- a/src/gui/widgets/windowcontainer.h
+++ b/src/gui/widgets/windowcontainer.h
@@ -33,7 +33,7 @@
*
* \ingroup GUI
*/
-class WindowContainer : public Container
+class WindowContainer notfinal : public Container
{
public:
explicit WindowContainer(const Widget2 *const widget);
diff --git a/src/gui/windows/confirmdialog.h b/src/gui/windows/confirmdialog.h
index 0d9f25d38..56054ee19 100644
--- a/src/gui/windows/confirmdialog.h
+++ b/src/gui/windows/confirmdialog.h
@@ -38,8 +38,8 @@ class TextBox;
*
* \ingroup GUI
*/
-class ConfirmDialog : public Window,
- public ActionListener
+class ConfirmDialog notfinal : public Window,
+ public ActionListener
{
public:
/**
diff --git a/src/listeners/playerlistener.h b/src/listeners/playerlistener.h
index 85623fbd5..b0d8b9344 100644
--- a/src/listeners/playerlistener.h
+++ b/src/listeners/playerlistener.h
@@ -29,7 +29,7 @@
class TextDialog;
-class PlayerListener : public ActionListener
+class PlayerListener final : public ActionListener
{
public:
PlayerListener();
diff --git a/src/net/ea/adminhandler.h b/src/net/ea/adminhandler.h
index 5ec72e912..6bf7c4b13 100644
--- a/src/net/ea/adminhandler.h
+++ b/src/net/ea/adminhandler.h
@@ -30,7 +30,7 @@
namespace Ea
{
-class AdminHandler : public Net::AdminHandler
+class AdminHandler notfinal : public Net::AdminHandler
{
public:
AdminHandler()
diff --git a/src/net/ea/beinghandler.h b/src/net/ea/beinghandler.h
index 4d59c2f48..b460ae358 100644
--- a/src/net/ea/beinghandler.h
+++ b/src/net/ea/beinghandler.h
@@ -28,7 +28,7 @@
namespace Ea
{
-class BeingHandler : public Net::BeingHandler
+class BeingHandler notfinal : public Net::BeingHandler
{
public:
A_DELETE_COPY(BeingHandler)
diff --git a/src/net/ea/buysellhandler.h b/src/net/ea/buysellhandler.h
index 0aa984d43..75e78a251 100644
--- a/src/net/ea/buysellhandler.h
+++ b/src/net/ea/buysellhandler.h
@@ -30,7 +30,7 @@ class BuyDialog;
namespace Ea
{
-class BuySellHandler : public Net::BuySellHandler
+class BuySellHandler notfinal : public Net::BuySellHandler
{
public:
BuySellHandler();
diff --git a/src/net/ea/charserverhandler.h b/src/net/ea/charserverhandler.h
index af6aafa9b..ffbb97bc8 100644
--- a/src/net/ea/charserverhandler.h
+++ b/src/net/ea/charserverhandler.h
@@ -40,7 +40,7 @@ class Network;
/**
* Deals with incoming messages from the character server.
*/
-class CharServerHandler : public Net::CharServerHandler
+class CharServerHandler notfinal : public Net::CharServerHandler
{
public:
A_DELETE_COPY(CharServerHandler)
diff --git a/src/net/ea/chathandler.h b/src/net/ea/chathandler.h
index 237abf10a..708d79440 100644
--- a/src/net/ea/chathandler.h
+++ b/src/net/ea/chathandler.h
@@ -35,7 +35,7 @@ namespace Net
namespace Ea
{
-class ChatHandler : public Net::ChatHandler
+class ChatHandler notfinal : public Net::ChatHandler
{
public:
ChatHandler();
diff --git a/src/net/ea/equipbackend.h b/src/net/ea/equipbackend.h
index 5a557eaa6..fb06cf7e2 100644
--- a/src/net/ea/equipbackend.h
+++ b/src/net/ea/equipbackend.h
@@ -33,7 +33,7 @@
namespace Ea
{
-class EquipBackend : public Equipment::Backend
+class EquipBackend final : public Equipment::Backend
{
public:
EquipBackend()
diff --git a/src/net/ea/gamehandler.h b/src/net/ea/gamehandler.h
index 4a0624be0..a10b244c7 100644
--- a/src/net/ea/gamehandler.h
+++ b/src/net/ea/gamehandler.h
@@ -33,7 +33,7 @@ namespace Net
namespace Ea
{
-class GameHandler : public Net::GameHandler
+class GameHandler notfinal : public Net::GameHandler
{
public:
GameHandler();
diff --git a/src/net/ea/gui/guildtab.h b/src/net/ea/gui/guildtab.h
index c3936f348..f9bc24b7a 100644
--- a/src/net/ea/gui/guildtab.h
+++ b/src/net/ea/gui/guildtab.h
@@ -32,8 +32,8 @@ namespace Ea
/**
* A tab for a guild chat channel.
*/
-class GuildTab : public ChatTab,
- public ConfigListener
+class GuildTab notfinal : public ChatTab,
+ public ConfigListener
{
public:
explicit GuildTab(const Widget2 *const widget);
diff --git a/src/net/ea/gui/partytab.h b/src/net/ea/gui/partytab.h
index 1a08d0954..7a82b1ae0 100644
--- a/src/net/ea/gui/partytab.h
+++ b/src/net/ea/gui/partytab.h
@@ -32,8 +32,8 @@ namespace Ea
/**
* A tab for a party chat channel.
*/
-class PartyTab : public ChatTab,
- public ConfigListener
+class PartyTab notfinal : public ChatTab,
+ public ConfigListener
{
public:
explicit PartyTab(const Widget2 *const widget);
diff --git a/src/net/ea/guildhandler.h b/src/net/ea/guildhandler.h
index e8bec6a09..48e5f325f 100644
--- a/src/net/ea/guildhandler.h
+++ b/src/net/ea/guildhandler.h
@@ -33,7 +33,7 @@ namespace Ea
{
class GuildTab;
-class GuildHandler : public Net::GuildHandler
+class GuildHandler notfinal : public Net::GuildHandler
{
public:
GuildHandler();
diff --git a/src/net/ea/inventoryhandler.h b/src/net/ea/inventoryhandler.h
index e26878f65..76ceec765 100644
--- a/src/net/ea/inventoryhandler.h
+++ b/src/net/ea/inventoryhandler.h
@@ -44,7 +44,7 @@ namespace Ea
typedef std::vector<InventoryItem> InventoryItems;
-class InventoryHandler : public Net::InventoryHandler
+class InventoryHandler notfinal : public Net::InventoryHandler
{
public:
enum
diff --git a/src/net/ea/loginhandler.cpp b/src/net/ea/loginhandler.cpp
index ecc51bfeb..451850430 100644
--- a/src/net/ea/loginhandler.cpp
+++ b/src/net/ea/loginhandler.cpp
@@ -27,6 +27,8 @@
#include "logger.h"
#include "settings.h"
+#include "being/being.h"
+
#include "gui/windows/logindialog.h"
#include "utils/dtor.h"
diff --git a/src/net/ea/loginhandler.h b/src/net/ea/loginhandler.h
index 053e8500a..6040e72fd 100644
--- a/src/net/ea/loginhandler.h
+++ b/src/net/ea/loginhandler.h
@@ -41,7 +41,7 @@ namespace Net
namespace Ea
{
-class LoginHandler : public Net::LoginHandler
+class LoginHandler notfinal : public Net::LoginHandler
{
public:
A_DELETE_COPY(LoginHandler)
diff --git a/src/net/ea/npchandler.h b/src/net/ea/npchandler.h
index 07c281587..d6986a219 100644
--- a/src/net/ea/npchandler.h
+++ b/src/net/ea/npchandler.h
@@ -37,7 +37,7 @@ namespace Net
namespace Ea
{
-class NpcHandler : public Net::NpcHandler
+class NpcHandler notfinal : public Net::NpcHandler
{
public:
A_DELETE_COPY(NpcHandler)
diff --git a/src/net/ea/partyhandler.h b/src/net/ea/partyhandler.h
index 61aa49bfa..11eef00b6 100644
--- a/src/net/ea/partyhandler.h
+++ b/src/net/ea/partyhandler.h
@@ -35,7 +35,7 @@ namespace Ea
{
class PartyTab;
-class PartyHandler : public Net::PartyHandler
+class PartyHandler notfinal : public Net::PartyHandler
{
public:
PartyHandler();
diff --git a/src/net/ea/playerhandler.h b/src/net/ea/playerhandler.h
index 087627f92..0c8afd72e 100644
--- a/src/net/ea/playerhandler.h
+++ b/src/net/ea/playerhandler.h
@@ -33,7 +33,7 @@ namespace Net
namespace Ea
{
-class PlayerHandler : public Net::PlayerHandler
+class PlayerHandler notfinal : public Net::PlayerHandler
{
public:
PlayerHandler();
diff --git a/src/net/ea/skillhandler.h b/src/net/ea/skillhandler.h
index 484ca6878..37ce90cbb 100644
--- a/src/net/ea/skillhandler.h
+++ b/src/net/ea/skillhandler.h
@@ -35,7 +35,7 @@ namespace Net
namespace Ea
{
-class SkillHandler : public Net::SkillHandler
+class SkillHandler notfinal : public Net::SkillHandler
{
public:
SkillHandler();
diff --git a/src/net/ea/token.h b/src/net/ea/token.h
index 35aadd02c..dd8a18d17 100644
--- a/src/net/ea/token.h
+++ b/src/net/ea/token.h
@@ -20,12 +20,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "being/being.h"
+#include "being/gender.h"
#ifndef NET_EA_TOKEN_H
#define NET_EA_TOKEN_H
-struct Token
+struct Token final
{
int account_ID;
int session_ID1;
diff --git a/src/net/ea/tradehandler.h b/src/net/ea/tradehandler.h
index d4c9510b8..a11941d5d 100644
--- a/src/net/ea/tradehandler.h
+++ b/src/net/ea/tradehandler.h
@@ -33,7 +33,7 @@ namespace Net
namespace Ea
{
-class TradeHandler : public Net::TradeHandler
+class TradeHandler notfinal : public Net::TradeHandler
{
public:
TradeHandler();
diff --git a/src/net/eathena/gui/guildtab.h b/src/net/eathena/gui/guildtab.h
index 572ea4bac..30dd63352 100644
--- a/src/net/eathena/gui/guildtab.h
+++ b/src/net/eathena/gui/guildtab.h
@@ -31,7 +31,7 @@ namespace EAthena
/**
* A tab for a guild chat channel.
*/
-class GuildTab : public Ea::GuildTab
+class GuildTab final : public Ea::GuildTab
{
public:
explicit GuildTab(const Widget2 *const widget);
diff --git a/src/net/eathena/gui/partytab.h b/src/net/eathena/gui/partytab.h
index 31dc26787..2dfd333fb 100644
--- a/src/net/eathena/gui/partytab.h
+++ b/src/net/eathena/gui/partytab.h
@@ -31,7 +31,7 @@ namespace EAthena
/**
* A tab for a party chat channel.
*/
-class PartyTab : public Ea::PartyTab
+class PartyTab final : public Ea::PartyTab
{
public:
explicit PartyTab(const Widget2 *const widget);
diff --git a/src/net/eathena/messagehandler.h b/src/net/eathena/messagehandler.h
index 1b7f9e737..5cbf7e1d9 100644
--- a/src/net/eathena/messagehandler.h
+++ b/src/net/eathena/messagehandler.h
@@ -35,7 +35,7 @@ class Network;
/**
* \ingroup Network
*/
-class MessageHandler : public Net::MessageHandler
+class MessageHandler notfinal : public Net::MessageHandler
{
public:
MessageHandler();
diff --git a/src/net/messagein.h b/src/net/messagein.h
index 7b2b2400b..7b7df919b 100644
--- a/src/net/messagein.h
+++ b/src/net/messagein.h
@@ -35,7 +35,7 @@ namespace Net
*
* \ingroup Network
*/
-class MessageIn
+class MessageIn notfinal
{
public:
A_DELETE_COPY(MessageIn)
diff --git a/src/net/tmwa/gui/guildtab.h b/src/net/tmwa/gui/guildtab.h
index 25920c9f0..a10c592ec 100644
--- a/src/net/tmwa/gui/guildtab.h
+++ b/src/net/tmwa/gui/guildtab.h
@@ -31,7 +31,7 @@ namespace TmwAthena
/**
* A tab for a guild chat channel.
*/
-class GuildTab : public Ea::GuildTab
+class GuildTab final : public Ea::GuildTab
{
public:
explicit GuildTab(const Widget2 *const widget);
diff --git a/src/net/tmwa/messagehandler.h b/src/net/tmwa/messagehandler.h
index ae57fcba5..9f87fd6b6 100644
--- a/src/net/tmwa/messagehandler.h
+++ b/src/net/tmwa/messagehandler.h
@@ -35,7 +35,7 @@ class Network;
/**
* \ingroup Network
*/
-class MessageHandler : public Net::MessageHandler
+class MessageHandler notfinal : public Net::MessageHandler
{
public:
MessageHandler();
diff --git a/src/particle/imageparticle.h b/src/particle/imageparticle.h
index 3c3a17ebc..046775ebb 100644
--- a/src/particle/imageparticle.h
+++ b/src/particle/imageparticle.h
@@ -32,7 +32,7 @@ class Image;
/**
* A particle that uses an image for its visualization.
*/
-class ImageParticle : public Particle
+class ImageParticle notfinal : public Particle
{
public:
/**
diff --git a/src/particle/particle.h b/src/particle/particle.h
index 491232b17..99d3aa365 100644
--- a/src/particle/particle.h
+++ b/src/particle/particle.h
@@ -45,7 +45,7 @@ typedef Emitters::const_iterator EmitterConstIterator;
/**
* A particle spawned by a ParticleEmitter.
*/
-class Particle : public Actor
+class Particle notfinal : public Actor
{
public:
enum AliveStatus
diff --git a/src/resources/image.h b/src/resources/image.h
index 93c31f935..cd664cebb 100644
--- a/src/resources/image.h
+++ b/src/resources/image.h
@@ -51,7 +51,7 @@
/**
* Defines a class for loading and storing images.
*/
-class Image : public Resource
+class Image notfinal : public Resource
{
friend class CompoundSprite;
friend class Graphics;
diff --git a/src/resources/imageset.h b/src/resources/imageset.h
index 3d89f48bb..d27cda0cf 100644
--- a/src/resources/imageset.h
+++ b/src/resources/imageset.h
@@ -34,7 +34,7 @@ class Image;
/**
* Stores a set of subimages originating from a single image.
*/
-class ImageSet : public Resource
+class ImageSet notfinal : public Resource
{
public:
/**
diff --git a/src/utils/dtor.h b/src/utils/dtor.h
index c14ec41f6..52c44ead9 100644
--- a/src/utils/dtor.h
+++ b/src/utils/dtor.h
@@ -27,8 +27,10 @@
#include <functional>
#include <utility>
+#include "localconsts.h"
+
template<typename T>
-struct dtor : public std::unary_function <T, void>
+struct dtor final : public std::unary_function <T, void>
{
void operator()(T &ptr)
{ delete ptr; }