From bf17590f86e5dfa6b71b7b31f072c29c5794c0da Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Tue, 12 Nov 2013 20:19:58 -0500 Subject: [PATCH] westoy: Remove unused support for window parents It seems that this was only used by the popup menu infrastructure, which can handle this all on its own. Implementing e.g. transients in the future can be done with a simple xdg_shell_set_transient_for. --- clients/image.c | 2 +- clients/terminal.c | 2 +- clients/view.c | 2 +- clients/window.c | 33 ++++++++++++++------------------- clients/window.h | 2 +- 5 files changed, 18 insertions(+), 23 deletions(-) diff --git a/clients/image.c b/clients/image.c index c73d0c0..3a52c22 100644 --- a/clients/image.c +++ b/clients/image.c @@ -336,7 +336,7 @@ fullscreen_handler(struct window *window, void *data) } static void -close_handler(struct window *window, void *data) +close_handler(void *data) { struct image *image = data; diff --git a/clients/terminal.c b/clients/terminal.c index a321a1e..d09f94b 100644 --- a/clients/terminal.c +++ b/clients/terminal.c @@ -2212,7 +2212,7 @@ fullscreen_handler(struct window *window, void *data) } static void -close_handler(struct window *window, void *data) +close_handler(void *data) { struct terminal *terminal = data; diff --git a/clients/view.c b/clients/view.c index cedef08..4ac9ca5 100644 --- a/clients/view.c +++ b/clients/view.c @@ -168,7 +168,7 @@ fullscreen_handler(struct window *window, void *data) } static void -close_handler(struct window *window, void *data) +close_handler(void *data) { struct view *view = data; diff --git a/clients/window.c b/clients/window.c index 0afd46b..bfa451a 100644 --- a/clients/window.c +++ b/clients/window.c @@ -221,7 +221,6 @@ struct surface { struct window { struct display *display; - struct window *parent; struct wl_list window_output_list; char *title; struct rectangle saved_allocation; @@ -358,6 +357,7 @@ struct window_frame { struct menu { struct window *window; + struct window *parent; struct widget *widget; struct input *input; struct frame *frame; @@ -2274,8 +2274,7 @@ frame_menu_func(struct window *window, switch (index) { case 0: /* close */ if (window->close_handler) - window->close_handler(window->parent, - window->user_data); + window->close_handler(window->user_data); else display_exit(window->display); break; @@ -2392,8 +2391,7 @@ frame_handle_status(struct window_frame *frame, struct input *input, if (status & FRAME_STATUS_CLOSE) { if (window->close_handler) - window->close_handler(window->parent, - window->user_data); + window->close_handler(window->user_data); else display_exit(window->display); return; @@ -2894,8 +2892,7 @@ keyboard_handle_key(void *data, struct wl_keyboard *keyboard, input->modifiers == MOD_ALT_MASK && state == WL_KEYBOARD_KEY_STATE_PRESSED) { if (window->close_handler) - window->close_handler(window->parent, - window->user_data); + window->close_handler(window->user_data); else display_exit(window->display); } else if (window->key_handler) { @@ -4230,8 +4227,7 @@ surface_create(struct window *window) } static struct window * -window_create_internal(struct display *display, - struct window *parent, int type) +window_create_internal(struct display *display, int type) { struct window *window; struct surface *surface; @@ -4239,7 +4235,6 @@ window_create_internal(struct display *display, window = xzalloc(sizeof *window); wl_list_init(&window->subsurface_list); window->display = display; - window->parent = parent; surface = surface_create(window); window->main_surface = surface; @@ -4283,13 +4278,13 @@ window_create_internal(struct display *display, struct window * window_create(struct display *display) { - return window_create_internal(display, NULL, TYPE_NONE); + return window_create_internal(display, TYPE_NONE); } struct window * window_create_custom(struct display *display) { - return window_create_internal(display, NULL, TYPE_CUSTOM); + return window_create_internal(display, TYPE_CUSTOM); } struct window * @@ -4298,8 +4293,7 @@ window_create_transient(struct display *display, struct window *parent, { struct window *window; - window = window_create_internal(parent->display, - parent, TYPE_TRANSIENT); + window = window_create_internal(parent->display, TYPE_TRANSIENT); window->x = x; window->y = y; @@ -4307,7 +4301,7 @@ window_create_transient(struct display *display, struct window *parent, if (display->shell) wl_shell_surface_set_transient( window->shell_surface, - window->parent->main_surface->surface, + parent->main_surface->surface, window->x, window->y, flags); return window; @@ -4374,8 +4368,8 @@ menu_button_handler(struct widget *widget, (menu->release_count > 0 || time - menu->time > 500)) { /* Either relase after press-drag-release or * click-motion-click. */ - menu->func(menu->window->parent, input, - menu->current, menu->window->parent->user_data); + menu->func(menu->parent, input, + menu->current, menu->parent->user_data); input_ungrab(input); menu_destroy(menu); } else if (state == WL_POINTER_BUTTON_STATE_RELEASED) { @@ -4437,13 +4431,14 @@ window_show_menu(struct display *display, if (!menu) return; - window = window_create_internal(parent->display, parent, TYPE_MENU); + window = window_create_internal(parent->display, TYPE_MENU); if (!window) { free(menu); return; } menu->window = window; + menu->parent = parent; menu->widget = window_add_widget(menu->window, menu); window_set_buffer_scale (menu->window, window_get_buffer_scale (parent)); window_set_buffer_transform (menu->window, window_get_buffer_transform (parent)); @@ -4477,7 +4472,7 @@ window_show_menu(struct display *display, frame_interior(menu->frame, &ix, &iy, NULL, NULL); wl_shell_surface_set_popup(window->shell_surface, input->seat, display_get_serial(window->display), - window->parent->main_surface->surface, + parent->main_surface->surface, window->x - ix, window->y - iy, 0); } diff --git a/clients/window.h b/clients/window.h index 59e483e..d5e40ed 100644 --- a/clients/window.h +++ b/clients/window.h @@ -214,7 +214,7 @@ typedef void (*window_drop_handler_t)(struct window *window, struct input *input, int32_t x, int32_t y, void *data); -typedef void (*window_close_handler_t)(struct window *window, void *data); +typedef void (*window_close_handler_t)(void *data); typedef void (*window_fullscreen_handler_t)(struct window *window, void *data); typedef void (*window_output_handler_t)(struct window *window, struct output *output, -- 2.7.4