Wrap modifier_set_copy into event_data_copy
This commit is contained in:
parent
74f11849b3
commit
52b3b74e7b
6
events.c
6
events.c
|
@ -21,8 +21,7 @@ event_replicate(EventNode * source, size_t count)
|
||||||
}
|
}
|
||||||
replica->position = NULL;
|
replica->position = NULL;
|
||||||
replica->input_index = 0;
|
replica->input_index = 0;
|
||||||
replica->data = source->data;
|
replica->data = event_data_copy(source->data);
|
||||||
replica->data.modifiers = modifier_set_copy(source->data.modifiers);
|
|
||||||
replica->prev = source;
|
replica->prev = source;
|
||||||
replica->next = source->next;
|
replica->next = source->next;
|
||||||
source->next->prev = replica;
|
source->next->prev = replica;
|
||||||
|
@ -39,8 +38,7 @@ event_create(const EventData * content)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
if (content) {
|
if (content) {
|
||||||
event->data = *content;
|
event->data = event_data_copy(*content);
|
||||||
event->data.modifiers = modifier_set_copy(content->modifiers);
|
|
||||||
} else {
|
} else {
|
||||||
event->data.time = get_current_time();
|
event->data.time = get_current_time();
|
||||||
}
|
}
|
||||||
|
|
7
events.h
7
events.h
|
@ -49,4 +49,11 @@ EventNode * event_create(const EventData * content);
|
||||||
void event_destroy(EventNode * self);
|
void event_destroy(EventNode * self);
|
||||||
void event_destroy_all();
|
void event_destroy_all();
|
||||||
|
|
||||||
|
__attribute__((unused)) inline static EventData
|
||||||
|
event_data_copy(EventData orig)
|
||||||
|
{
|
||||||
|
orig.modifiers = modifier_set_copy(orig.modifiers);
|
||||||
|
return orig;
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* end of include guard: EVENTS_H_ */
|
#endif /* end of include guard: EVENTS_H_ */
|
||||||
|
|
|
@ -69,6 +69,7 @@ trigger_new_window(WindowGraphNode * node, EventNode * base)
|
||||||
terminator->data.code = node->terminator_prototype.code;
|
terminator->data.code = node->terminator_prototype.code;
|
||||||
terminator->data.modifiers = modifier_set_copy(node->terminator_prototype.modifiers);
|
terminator->data.modifiers = modifier_set_copy(node->terminator_prototype.modifiers);
|
||||||
terminator->data.payload = node->terminator_prototype.payload;
|
terminator->data.payload = node->terminator_prototype.payload;
|
||||||
|
// Preserve ttl, priority, time
|
||||||
graph_node_broadcast_forward_event(&node->as_GraphNode, terminator);
|
graph_node_broadcast_forward_event(&node->as_GraphNode, terminator);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -102,8 +103,7 @@ trigger_new_window(WindowGraphNode * node, EventNode * base)
|
||||||
if (!recipient) {
|
if (!recipient) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
recipient->data = orig->data;
|
recipient->data = event_data_copy(orig->data);
|
||||||
recipient->data.modifiers = modifier_set_copy(orig->data.modifiers);
|
|
||||||
graph_node_broadcast_forward_event(&node->as_GraphNode, recipient);
|
graph_node_broadcast_forward_event(&node->as_GraphNode, recipient);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue