diff options
author | Jan Kanis <jan.code@jankanis.nl> | 2012-12-20 01:11:55 +0100 |
---|---|---|
committer | Jan Kanis <jan.code@jankanis.nl> | 2012-12-20 16:13:00 +0100 |
commit | af3059ab2ad4ccbfec3c0789b198388cc90fbcbb (patch) | |
tree | 053a7fd1e81254acfa5406f08976ca5059f152d9 /event.cpp | |
parent | 1f0ae8b06d7e10d2a12cfd28efb3032af7b4d2f1 (diff) |
Allow 'emit' to accept event arguments
Diffstat (limited to 'event.cpp')
-rw-r--r-- | event.cpp | 17 |
1 files changed, 3 insertions, 14 deletions
@@ -689,26 +689,15 @@ void event_free(event_t *e) delete e; } - -void event_fire_generic_internal(const wchar_t *name, ...) +void event_fire_generic(const wchar_t *name, wcstring_list_t *args) { - va_list va; - wchar_t *arg; - CHECK(name,); event_t ev(EVENT_GENERIC); ev.str_param1 = name; - ev.arguments.reset(new wcstring_list_t); - va_start(va, name); - while ((arg=va_arg(va, wchar_t *))!= 0) - { - ev.arguments->push_back(arg); - } - va_end(va); - + if (args) + ev.arguments.reset(new wcstring_list_t(*args)); event_fire(&ev); - ev.arguments.reset(NULL); } event_t event_t::signal_event(int sig) |