From 225bf9dff16d1beda00add5583e93593f9eb4c43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Armin=20Krezovi=C4=87?= Date: Sat, 29 Oct 2016 00:26:45 +0200 Subject: [PATCH] compositor-x11: Move vfunc setting from set_size to enable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Armin Krezović Reviewed-by: Daniel Stone --- libweston/compositor-x11.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/libweston/compositor-x11.c b/libweston/compositor-x11.c index ea77f31d..de64e499 100644 --- a/libweston/compositor-x11.c +++ b/libweston/compositor-x11.c @@ -917,6 +917,7 @@ x11_output_enable(struct weston_output *base) weston_log("Failed to create pixman renderer for output\n"); x11_output_deinit_shm(b, output); goto err; + output->base.repaint = x11_output_repaint_shm; } } else { /* eglCreatePlatformWindowSurfaceEXT takes a Window* @@ -932,8 +933,16 @@ x11_output_enable(struct weston_output *base) 0); if (ret < 0) goto err; + + output->base.repaint = x11_output_repaint_gl; } + output->base.start_repaint_loop = x11_output_start_repaint_loop; + output->base.assign_planes = NULL; + output->base.set_backlight = NULL; + output->base.set_dpms = NULL; + output->base.switch_mode = NULL; + loop = wl_display_get_event_loop(b->compositor->wl_display); output->finish_frame_timer = wl_event_loop_add_timer(loop, finish_frame_handler, output); @@ -999,17 +1008,6 @@ x11_output_set_size(struct weston_output *base, int width, int height) output->base.mm_height = height * b->screen->height_in_millimeters / b->screen->height_in_pixels; - if (b->use_pixman) - output->base.repaint = x11_output_repaint_shm; - else - output->base.repaint = x11_output_repaint_gl; - - output->base.start_repaint_loop = x11_output_start_repaint_loop; - output->base.assign_planes = NULL; - output->base.set_backlight = NULL; - output->base.set_dpms = NULL; - output->base.switch_mode = NULL; - return 0; }