Make love.event.clear thread-safe, though it's only callable from the main thread (with SDL backend, anyway)

This commit is contained in:
Bart van Strien
2011-12-23 12:16:36 +01:00
parent bc278cf2b8
commit e0dcf55703
3 changed files with 12 additions and 5 deletions
+10
View File
@@ -99,6 +99,16 @@ namespace event
return true;
}
void Event::clear()
{
Lock lock(mutex);
while (!queue.empty())
{
queue.back()->release();
queue.pop();
}
}
bool Event::getConstant(const char * in, love::mouse::Mouse::Button & out)
{
return buttons.find(in, out);
+1
View File
@@ -58,6 +58,7 @@ namespace event
void push(Message *msg);
bool poll(Message *&msg);
virtual void clear();
virtual void pump() = 0;
+1 -5
View File
@@ -77,11 +77,7 @@ namespace sdl
// Do nothing with 'e' ...
}
while (!queue.empty())
{
queue.back()->release();
queue.pop();
}
love::event::Event::clear();
}
Message *Event::convert(SDL_Event & e)