commit 233b5731f7617f874593d874ad639759b3f9a1a0
parent 87af77f55959facfcd4dae0e0de50c7647a5b8e5
Author: Michael Forney <mforney@mforney.org>
Date: Mon, 24 Feb 2014 00:41:22 -0800
compositor: Simplify handle_screen_view_event
Diffstat:
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/libswc/compositor.c b/libswc/compositor.c
@@ -119,24 +119,20 @@ static void handle_screen_view_event(struct wl_listener * listener, void * data)
{
struct swc_event * event = data;
struct view_event_data * event_data = event->data;
+ struct target * target
+ = CONTAINER_OF(listener, typeof(*target), view_listener);
switch (event->type)
{
case VIEW_EVENT_FRAME:
{
- struct screen * screen = CONTAINER_OF
- (event_data->view, typeof(*screen), planes.framebuffer.view);
- struct target * target;
struct compositor_view * view;
- if (!(target = target_get(screen)))
- return;
-
- compositor.pending_flips &= ~screen_mask(screen);
+ compositor.pending_flips &= ~target->mask;
wl_list_for_each(view, &compositor.views, link)
{
- if (view->base.screens & screen_mask(screen))
+ if (view->base.screens & target->mask)
view_frame(&view->base, event_data->frame.time);
}