aboutsummaryrefslogtreecommitdiffhomepage
path: root/event.cpp
diff options
context:
space:
mode:
authorGravatar Jan Kanis <jan.code@jankanis.nl>2012-12-20 01:11:55 +0100
committerGravatar Jan Kanis <jan.code@jankanis.nl>2012-12-20 16:13:00 +0100
commitaf3059ab2ad4ccbfec3c0789b198388cc90fbcbb (patch)
tree053a7fd1e81254acfa5406f08976ca5059f152d9 /event.cpp
parent1f0ae8b06d7e10d2a12cfd28efb3032af7b4d2f1 (diff)
Allow 'emit' to accept event arguments
Diffstat (limited to 'event.cpp')
-rw-r--r--event.cpp17
1 files changed, 3 insertions, 14 deletions
diff --git a/event.cpp b/event.cpp
index e4f452e0..8c61ebd0 100644
--- a/event.cpp
+++ b/event.cpp
@@ -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)