Commit c5fc0fe64d330fd714226da20252007ea4ec19fc

Authored by Georg Hopp
1 parent 088d5737

The base event handler does not handle any event by itself, because of that the …

…event_methods classvar may be NULL.
... ... @@ -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