diff options
author | Siegfried-Angel Gevatter Pujals <siegfried@gevatter.com> | 2012-09-08 19:00:36 +0200 |
---|---|---|
committer | Siegfried-Angel Gevatter Pujals <siegfried@gevatter.com> | 2012-09-08 19:00:36 +0200 |
commit | 1543988402a80c1b70652dd73bdb60b756c6bf08 (patch) | |
tree | b573fc37be21432744792ec691994643e470f11b /libzeitgeist/log.vala | |
parent | d921c1df1b9561e96ae7bf333141431b7d4c303b (diff) | |
download | zeitgeist-1543988402a80c1b70652dd73bdb60b756c6bf08.tar.gz |
libzeitgeist: add "null event" handling
GetEvents returns null-events when a requested ID doesn't exist.
This commit fixes libzeitgeist to properly support this, by changing
zeitgeist_log_get_events to return GenericArray<Event?>.
https://bugs.freedesktop.org/show_bug.cgi?id=53016
Diffstat (limited to 'libzeitgeist/log.vala')
-rw-r--r-- | libzeitgeist/log.vala | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/libzeitgeist/log.vala b/libzeitgeist/log.vala index 47e33114..0460a5f2 100644 --- a/libzeitgeist/log.vala +++ b/libzeitgeist/log.vala @@ -154,16 +154,16 @@ public class Log : QueuedProxyWrapper num_events, result_type, cancellable); } - public async ResultSet get_events ( - Array<uint32> event_ids, - Cancellable? cancellable=null) throws Error + public async GenericArray<Event> get_events ( + Array<uint32> event_ids, + Cancellable? cancellable=null) throws Error { yield wait_for_proxy (); uint32[] simple_event_ids = new uint32[event_ids.length]; - for (int i=0; i<event_ids.length; i++) - simple_event_ids[i] = event_ids.index(i); + for (int i = 0; i < event_ids.length; i++) + simple_event_ids[i] = event_ids.index (i); var result = yield proxy.get_events (simple_event_ids, cancellable); - return new SimpleResultSet (Events.from_variant (result)); + return Events.from_variant (result); } public async string[] find_related_uris ( @@ -218,6 +218,7 @@ public class Log : QueuedProxyWrapper { DBusConnection conn = ((DBusProxy) proxy).get_connection (); + // FIXME: check exception uint registration_id = conn.register_object<RemoteMonitor> ( monitor.get_path (), monitor); monitors.insert (monitor, registration_id); |