commit 44c47d5

Michael Forney  ·  2013-12-04 04:55:56 +0000 UTC
parent 516f9e7
Move pointer region calculation to swc.c:setup_compositor()
2 files changed,  +17, -16
+0, -16
 1@@ -305,8 +305,6 @@ bool swc_compositor_initialize(struct swc_compositor * compositor,
 2                                struct wl_event_loop * event_loop)
 3 {
 4     struct wl_list * outputs;
 5-    struct swc_output * output;
 6-    pixman_region32_t pointer_region;
 7     uint32_t keysym;
 8 
 9     compositor->display = display;
10@@ -352,20 +350,6 @@ bool swc_compositor_initialize(struct swc_compositor * compositor,
11         goto error2;
12     }
13 
14-    /* Calculate pointer region */
15-    pixman_region32_init(&pointer_region);
16-
17-    wl_list_for_each(output, &compositor->outputs, link)
18-    {
19-        pixman_region32_union_rect(&pointer_region, &pointer_region,
20-                                   output->geometry.x, output->geometry.y,
21-                                   output->geometry.width,
22-                                   output->geometry.height);
23-    }
24-
25-    swc_pointer_set_region(swc.seat->pointer, &pointer_region);
26-    pixman_region32_fini(&pointer_region);
27-
28     pixman_region32_init(&compositor->damage);
29     pixman_region32_init(&compositor->opaque);
30     wl_list_init(&compositor->surfaces);
+17, -0
 1@@ -49,12 +49,29 @@ struct swc swc = {
 2 
 3 static void setup_compositor()
 4 {
 5+    pixman_region32_t pointer_region;
 6+    struct swc_output * output;
 7+
 8     swc.seat->keyboard->handler = swc.bindings->keyboard_handler;
 9     swc.seat->pointer->handler = &compositor.pointer_handler;
10     wl_signal_add(&swc.seat->pointer->focus.event_signal,
11                   swc_window_enter_listener);
12     wl_signal_add(&swc.seat->pointer->event_signal,
13                   &compositor.pointer_listener);
14+
15+    /* Calculate pointer region */
16+    pixman_region32_init(&pointer_region);
17+
18+    wl_list_for_each(output, &compositor.outputs, link)
19+    {
20+        pixman_region32_union_rect(&pointer_region, &pointer_region,
21+                                   output->geometry.x, output->geometry.y,
22+                                   output->geometry.width,
23+                                   output->geometry.height);
24+    }
25+
26+    swc_pointer_set_region(swc.seat->pointer, &pointer_region);
27+    pixman_region32_fini(&pointer_region);
28 }
29 
30 EXPORT