aboutsummaryrefslogtreecommitdiffhomepage
path: root/event.cpp
diff options
context:
space:
mode:
authorGravatar ridiculousfish <corydoras@ridiculousfish.com>2013-12-20 17:41:21 -0800
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2013-12-20 17:41:21 -0800
commite38217683c65f53fcaa3b6a5daedb6b23b408a90 (patch)
tree18e4abbea0cb72e30d12aab5569c70ceb77f4406 /event.cpp
parent12be83562d9096538848a554c4d9f0e0f30f760f (diff)
Refactor block_t storage in parser_t from a linked list to a vector
Diffstat (limited to 'event.cpp')
-rw-r--r--event.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/event.cpp b/event.cpp
index f6313fb0..d2b219e7 100644
--- a/event.cpp
+++ b/event.cpp
@@ -144,12 +144,15 @@ static int event_match(const event_t &classv, const event_t &instance)
*/
static int event_is_blocked(const event_t &e)
{
- block_t *block;
+ const block_t *block;
parser_t &parser = parser_t::principal_parser();
- for (block = parser.current_block; block; block = block->outer)
+
+ size_t idx = 0;
+ while ((block = parser.block_at_index(idx++)))
{
if (event_block_list_blocks_type(block->event_blocks, e.type))
return true;
+
}
return event_block_list_blocks_type(parser.global_event_blocks, e.type);
}