commit ea0ab20ed1a282a2b43594fe89f15a6fa5ab302f
parent 3f9ed050c277e91ec0912969970fe0163a7a68ec
Author: Michael Forney <mforney@mforney.org>
Date: Wed, 4 Dec 2013 14:37:42 -0800
Initialize compositor before seat
This works around https://bugzilla.gnome.org/show_bug.cgi?id=719819
Diffstat:
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/libswc/swc.c b/libswc/swc.c
@@ -89,32 +89,32 @@ bool swc_initialize(struct wl_display * display,
goto error0;
}
- if (!swc_data_device_manager_initialize())
+ if (!swc_compositor_initialize(&compositor, display, swc.event_loop))
{
- ERROR("Could not initialize data device manager\n");
+ fprintf(stderr, "Could not initialize compositor\n");
goto error1;
}
- if (!swc_seat_initialize())
+ swc_compositor_add_globals(&compositor, display);
+
+ if (!swc_data_device_manager_initialize())
{
- fprintf(stderr, "Could not initialize seat\n");
+ ERROR("Could not initialize data device manager\n");
goto error2;
}
- if (!swc_bindings_initialize())
+ if (!swc_seat_initialize())
{
- fprintf(stderr, "Could not initialize bindings\n");
+ fprintf(stderr, "Could not initialize seat\n");
goto error3;
}
- if (!swc_compositor_initialize(&compositor, display, swc.event_loop))
+ if (!swc_bindings_initialize())
{
- fprintf(stderr, "Could not initialize compositor\n");
+ fprintf(stderr, "Could not initialize bindings\n");
goto error4;
}
- swc_compositor_add_globals(&compositor, display);
-
if (!swc_shell_initialize())
{
fprintf(stderr, "Could not initialize shell\n");
@@ -136,13 +136,13 @@ bool swc_initialize(struct wl_display * display,
error6:
swc_shell_finalize();
error5:
- swc_compositor_finish(&compositor);
- error4:
swc_bindings_finalize();
- error3:
+ error4:
swc_seat_finalize();
- error2:
+ error3:
swc_data_device_manager_finalize();
+ error2:
+ swc_compositor_finish(&compositor);
error1:
udev_unref(swc.udev);
error0:
@@ -156,10 +156,10 @@ void swc_finalize()
swc_xserver_finalize();
#endif
swc_shell_finalize();
- swc_compositor_finish(&compositor);
swc_bindings_finalize();
swc_seat_finalize();
swc_data_device_manager_finalize();
+ swc_compositor_finish(&compositor);
udev_unref(swc.udev);
}