commit ea0ab20

Michael Forney  ·  2013-12-04 22:37:42 +0000 UTC
parent 3f9ed05
Initialize compositor before seat

This works around https://bugzilla.gnome.org/show_bug.cgi?id=719819
1 files changed,  +15, -15
+15, -15
 1@@ -89,32 +89,32 @@ bool swc_initialize(struct wl_display * display,
 2         goto error0;
 3     }
 4 
 5-    if (!swc_data_device_manager_initialize())
 6+    if (!swc_compositor_initialize(&compositor, display, swc.event_loop))
 7     {
 8-        ERROR("Could not initialize data device manager\n");
 9+        fprintf(stderr, "Could not initialize compositor\n");
10         goto error1;
11     }
12 
13-    if (!swc_seat_initialize())
14+    swc_compositor_add_globals(&compositor, display);
15+
16+    if (!swc_data_device_manager_initialize())
17     {
18-        fprintf(stderr, "Could not initialize seat\n");
19+        ERROR("Could not initialize data device manager\n");
20         goto error2;
21     }
22 
23-    if (!swc_bindings_initialize())
24+    if (!swc_seat_initialize())
25     {
26-        fprintf(stderr, "Could not initialize bindings\n");
27+        fprintf(stderr, "Could not initialize seat\n");
28         goto error3;
29     }
30 
31-    if (!swc_compositor_initialize(&compositor, display, swc.event_loop))
32+    if (!swc_bindings_initialize())
33     {
34-        fprintf(stderr, "Could not initialize compositor\n");
35+        fprintf(stderr, "Could not initialize bindings\n");
36         goto error4;
37     }
38 
39-    swc_compositor_add_globals(&compositor, display);
40-
41     if (!swc_shell_initialize())
42     {
43         fprintf(stderr, "Could not initialize shell\n");
44@@ -136,13 +136,13 @@ bool swc_initialize(struct wl_display * display,
45   error6:
46     swc_shell_finalize();
47   error5:
48-    swc_compositor_finish(&compositor);
49-  error4:
50     swc_bindings_finalize();
51-  error3:
52+  error4:
53     swc_seat_finalize();
54-  error2:
55+  error3:
56     swc_data_device_manager_finalize();
57+  error2:
58+    swc_compositor_finish(&compositor);
59   error1:
60     udev_unref(swc.udev);
61   error0:
62@@ -156,10 +156,10 @@ void swc_finalize()
63     swc_xserver_finalize();
64 #endif
65     swc_shell_finalize();
66-    swc_compositor_finish(&compositor);
67     swc_bindings_finalize();
68     swc_seat_finalize();
69     swc_data_device_manager_finalize();
70+    swc_compositor_finish(&compositor);
71     udev_unref(swc.udev);
72 }
73