diff options
author | Tim Wiederhake <twied@gmx.net> | 2011-04-11 13:16:33 -0400 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2011-04-11 13:16:33 -0400 |
commit | b4b67344f044518ddf6539f63fdc7ae25f0498a9 (patch) | |
tree | 1205005543113f7c9332e82c64f36c0624773d54 | |
parent | 20798291ca32b17acd757e54ef479b2d6905c84e (diff) |
Define global handler on display creation
Otherwise the initial announcement of interfaces gets lost.
-rw-r--r-- | clients/dnd.c | 4 | ||||
-rw-r--r-- | clients/eventdemo.c | 2 | ||||
-rw-r--r-- | clients/flower.c | 2 | ||||
-rw-r--r-- | clients/gears.c | 2 | ||||
-rw-r--r-- | clients/image.c | 2 | ||||
-rw-r--r-- | clients/resizor.c | 2 | ||||
-rw-r--r-- | clients/smoke.c | 2 | ||||
-rw-r--r-- | clients/terminal.c | 2 | ||||
-rw-r--r-- | clients/view.c | 2 | ||||
-rw-r--r-- | clients/window.c | 12 | ||||
-rw-r--r-- | clients/window.h | 17 |
11 files changed, 20 insertions, 29 deletions
diff --git a/clients/dnd.c b/clients/dnd.c index a842b682..c4db9c4c 100644 --- a/clients/dnd.c +++ b/clients/dnd.c @@ -679,14 +679,12 @@ main(int argc, char *argv[]) { struct display *d; - d = display_create(&argc, &argv, option_entries); + d = display_create(&argc, &argv, option_entries, global_handler); if (d == NULL) { fprintf(stderr, "failed to create display: %m\n"); return -1; } - display_set_global_handler(d, global_handler); - dnd_create(d); display_run(d); diff --git a/clients/eventdemo.c b/clients/eventdemo.c index 8de620a9..3a0fd0dd 100644 --- a/clients/eventdemo.c +++ b/clients/eventdemo.c @@ -377,7 +377,7 @@ main(int argc, char *argv[]) struct eventdemo *e; /* Connect to the display and have the arguments parsed */ - d = display_create(&argc, &argv, option_entries); + d = display_create(&argc, &argv, option_entries, NULL); if (d == NULL) { fprintf(stderr, "failed to create display: %m\n"); return -1; diff --git a/clients/flower.c b/clients/flower.c index a87e20fc..0828fae1 100644 --- a/clients/flower.c +++ b/clients/flower.c @@ -129,7 +129,7 @@ int main(int argc, char *argv[]) struct display *d; struct timeval tv; - d = display_create(&argc, &argv, NULL); + d = display_create(&argc, &argv, NULL, NULL); if (d == NULL) { fprintf(stderr, "failed to create display: %m\n"); return -1; diff --git a/clients/gears.c b/clients/gears.c index e64ff3e2..fb5e1176 100644 --- a/clients/gears.c +++ b/clients/gears.c @@ -372,7 +372,7 @@ int main(int argc, char *argv[]) { struct display *d; - d = display_create(&argc, &argv, NULL); + d = display_create(&argc, &argv, NULL, NULL); if (d == NULL) { fprintf(stderr, "failed to create display: %m\n"); return -1; diff --git a/clients/image.c b/clients/image.c index 3eada1eb..f7d040fa 100644 --- a/clients/image.c +++ b/clients/image.c @@ -244,7 +244,7 @@ main(int argc, char *argv[]) struct display *d; int i; - d = display_create(&argc, &argv, option_entries); + d = display_create(&argc, &argv, option_entries, NULL); if (d == NULL) { fprintf(stderr, "failed to create display: %m\n"); return -1; diff --git a/clients/resizor.c b/clients/resizor.c index 0ac02f6e..9788d256 100644 --- a/clients/resizor.c +++ b/clients/resizor.c @@ -220,7 +220,7 @@ main(int argc, char *argv[]) { struct display *d; - d = display_create(&argc, &argv, NULL); + d = display_create(&argc, &argv, NULL, NULL); if (d == NULL) { fprintf(stderr, "failed to create display: %m\n"); return -1; diff --git a/clients/smoke.c b/clients/smoke.c index 0710b3a1..e132229a 100644 --- a/clients/smoke.c +++ b/clients/smoke.c @@ -249,7 +249,7 @@ int main(int argc, char *argv[]) struct display *d; int size; - d = display_create(&argc, &argv, NULL); + d = display_create(&argc, &argv, NULL, NULL); if (d == NULL) { fprintf(stderr, "failed to create display: %m\n"); return -1; diff --git a/clients/terminal.c b/clients/terminal.c index 35733826..0d41226b 100644 --- a/clients/terminal.c +++ b/clients/terminal.c @@ -2382,7 +2382,7 @@ int main(int argc, char *argv[]) struct display *d; struct terminal *terminal; - d = display_create(&argc, &argv, option_entries); + d = display_create(&argc, &argv, option_entries, NULL); if (d == NULL) { fprintf(stderr, "failed to create display: %m\n"); return -1; diff --git a/clients/view.c b/clients/view.c index 05edf3fe..40614c03 100644 --- a/clients/view.c +++ b/clients/view.c @@ -253,7 +253,7 @@ main(int argc, char *argv[]) struct display *d; int i; - d = display_create(&argc, &argv, option_entries); + d = display_create(&argc, &argv, option_entries, NULL); if (d == NULL) { fprintf(stderr, "failed to create display: %m\n"); return -1; diff --git a/clients/window.c b/clients/window.c index 6e7ef9b2..25a5ab52 100644 --- a/clients/window.c +++ b/clients/window.c @@ -1769,7 +1769,8 @@ init_egl(struct display *d) } struct display * -display_create(int *argc, char **argv[], const GOptionEntry *option_entries) +display_create(int *argc, char **argv[], const GOptionEntry *option_entries, + display_global_handler_t handler) { struct display *d; GOptionContext *context; @@ -1802,6 +1803,8 @@ display_create(int *argc, char **argv[], const GOptionEntry *option_entries) memset(d, 0, sizeof *d); + d->global_handler = handler; + d->display = wl_display_connect(NULL); if (d->display == NULL) { fprintf(stderr, "failed to create display: %m\n"); @@ -1906,10 +1909,3 @@ display_run(struct display *d) { g_main_loop_run(d->loop); } - -void -display_set_global_handler(struct display *display, - display_global_handler_t handler) -{ - display->global_handler = handler; -} diff --git a/clients/window.h b/clients/window.h index 538ff07e..f45a2818 100644 --- a/clients/window.h +++ b/clients/window.h @@ -40,8 +40,14 @@ struct rectangle { struct display; struct input; +typedef void (*display_global_handler_t)(struct display *display, + const char *interface, + uint32_t id, + uint32_t version); + struct display * -display_create(int *argc, char **argv[], const GOptionEntry *option_entries); +display_create(int *argc, char **argv[], const GOptionEntry *option_entries, + display_global_handler_t handler); struct wl_display * display_get_display(struct display *display); @@ -134,11 +140,6 @@ typedef int (*window_motion_handler_t)(struct window *window, int32_t x, int32_t y, int32_t sx, int32_t sy, void *data); -typedef void (*display_global_handler_t)(struct display *display, - const char *interface, - uint32_t id, - uint32_t version); - struct window * window_create(struct display *display, int32_t width, int32_t height); struct window * @@ -234,10 +235,6 @@ window_set_title(struct window *window, const char *title); const char * window_get_title(struct window *window); -void -display_set_global_handler(struct display *display, - display_global_handler_t handler); - struct wl_drag * window_create_drag(struct window *window); |