aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/lv2plug.in/ns/ext/event/event-helpers.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-07-02 16:21:31 +0000
committerDavid Robillard <d@drobilla.net>2012-07-02 16:21:31 +0000
commit360399998b3dbacd12d8b8a79f2a97e54be6d43f (patch)
tree81f3e7d3ad52b52c966730367c421367223c5db7 /lv2/lv2plug.in/ns/ext/event/event-helpers.h
parent614420471551f48ede7e829a62e008547f3c116b (diff)
downloadlv2-360399998b3dbacd12d8b8a79f2a97e54be6d43f.tar.xz
Make event iterator gracefully handle optional ports.
Diffstat (limited to 'lv2/lv2plug.in/ns/ext/event/event-helpers.h')
-rw-r--r--lv2/lv2plug.in/ns/ext/event/event-helpers.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/lv2/lv2plug.in/ns/ext/event/event-helpers.h b/lv2/lv2plug.in/ns/ext/event/event-helpers.h
index 46d634d..8e29507 100644
--- a/lv2/lv2plug.in/ns/ext/event/event-helpers.h
+++ b/lv2/lv2plug.in/ns/ext/event/event-helpers.h
@@ -108,7 +108,7 @@ lv2_event_begin(LV2_Event_Iterator* iter,
static inline bool
lv2_event_is_valid(LV2_Event_Iterator* iter)
{
- return (iter->offset < iter->buf->size);
+ return (iter->buf && (iter->offset < iter->buf->size));
}
@@ -165,6 +165,9 @@ lv2_event_write(LV2_Event_Iterator* iter,
uint16_t size,
const uint8_t* data)
{
+ if (!iter->buf)
+ return false;
+
if (iter->buf->capacity - iter->buf->size < sizeof(LV2_Event) + size)
return false;