mirror of
https://github.com/libretro/scummvm.git
synced 2025-03-04 09:18:38 +00:00
EVENTS: Change DefaultEventManager to be the owner of the keymapper
This commit is contained in:
parent
1f6700aa89
commit
22c75c644a
@ -68,6 +68,7 @@ DefaultEventManager::~DefaultEventManager() {
|
||||
#ifdef ENABLE_VKEYBD
|
||||
delete _vk;
|
||||
#endif
|
||||
delete _keymapper;
|
||||
}
|
||||
|
||||
void DefaultEventManager::init() {
|
||||
|
@ -24,7 +24,7 @@
|
||||
|
||||
namespace Common {
|
||||
|
||||
EventDispatcher::EventDispatcher() : _autoFreeMapper(false), _mapper(nullptr) {
|
||||
EventDispatcher::EventDispatcher() : _mapper(nullptr) {
|
||||
}
|
||||
|
||||
EventDispatcher::~EventDispatcher() {
|
||||
@ -37,11 +37,6 @@ EventDispatcher::~EventDispatcher() {
|
||||
if (i->autoFree)
|
||||
delete i->observer;
|
||||
}
|
||||
|
||||
if (_autoFreeMapper) {
|
||||
delete _mapper;
|
||||
}
|
||||
_mapper = nullptr;
|
||||
}
|
||||
|
||||
void EventDispatcher::dispatch() {
|
||||
@ -86,12 +81,8 @@ void EventDispatcher::clearEvents() {
|
||||
}
|
||||
|
||||
|
||||
void EventDispatcher::registerMapper(EventMapper *mapper, bool autoFree) {
|
||||
if (_autoFreeMapper) {
|
||||
delete _mapper;
|
||||
}
|
||||
void EventDispatcher::registerMapper(EventMapper *mapper) {
|
||||
_mapper = mapper;
|
||||
_autoFreeMapper = autoFree;
|
||||
}
|
||||
|
||||
|
||||
|
@ -346,24 +346,8 @@ public:
|
||||
|
||||
/**
|
||||
* Registers an event mapper with the dispatcher.
|
||||
*
|
||||
* The ownership of the "mapper" variable will pass
|
||||
* to the EventDispatcher, thus it will be deleted
|
||||
* with "delete", when EventDispatcher is destroyed.
|
||||
*
|
||||
* @param autoFree Destroy previous mapper [default]
|
||||
* Normally we allow only one event mapper to exists,
|
||||
* However Event Recorder must intervent into normal
|
||||
* event flow without altering its semantics. Thus during
|
||||
* Event Recorder playback and recording we allow
|
||||
* two mappers.
|
||||
*/
|
||||
void registerMapper(EventMapper *mapper, bool autoFree = true);
|
||||
|
||||
/**
|
||||
* Queries the setup event mapper.
|
||||
*/
|
||||
EventMapper *queryMapper() const { return _mapper; }
|
||||
void registerMapper(EventMapper *mapper);
|
||||
|
||||
/**
|
||||
* Registers a new EventSource with the Dispatcher.
|
||||
@ -392,7 +376,6 @@ public:
|
||||
*/
|
||||
void unregisterObserver(EventObserver *obs);
|
||||
private:
|
||||
bool _autoFreeMapper;
|
||||
EventMapper *_mapper;
|
||||
|
||||
struct Entry {
|
||||
|
Loading…
x
Reference in New Issue
Block a user