Commit c5fc0fe64d330fd714226da20252007ea4ec19fc
1 parent
088d5737
The base event handler does not handle any event by itself, because of that the …
…event_methods classvar may be NULL.
Showing
2 changed files
with
4 additions
and
5 deletions
... | ... | @@ -41,10 +41,7 @@ static |
41 | 41 | void |
42 | 42 | eventHandlerDtor(void * _this) {} |
43 | 43 | |
44 | -TR_INSTANCE(TR_Hash, _event_methods); | |
45 | 44 | TR_INIT_IFACE(TR_Class, eventHandlerCtor, eventHandlerDtor, NULL); |
46 | -TR_CREATE_CLASS(TR_EventHandler, NULL, NULL, TR_IF(TR_Class)) = { | |
47 | - &(__event_methods.data) | |
48 | -}; | |
45 | +TR_CREATE_CLASS(TR_EventHandler, NULL, NULL, TR_IF(TR_Class)) = { NULL }; | |
49 | 46 | |
50 | 47 | // vim: set ts=4 sw=4: | ... | ... |
... | ... | @@ -31,7 +31,9 @@ TR__eventHandlerClassCleanup(TR_class_ptr class) |
31 | 31 | while (class) { |
32 | 32 | struct c_TR_EventHandler_vars * vars; |
33 | 33 | vars = (struct c_TR_EventHandler_vars *)class->vars; |
34 | - TR_hashCleanup(vars->event_methods); | |
34 | + if (vars->event_methods) { | |
35 | + TR_hashCleanup(vars->event_methods); | |
36 | + } | |
35 | 37 | class = class->parent; |
36 | 38 | } |
37 | 39 | } | ... | ... |
Please
register
or
login
to post a comment