devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=7f6f4b6966e26cc6a68c86513768203add8e6bcd

commit 7f6f4b6966e26cc6a68c86513768203add8e6bcd
Author: Derek Foreman <der...@osg.samsung.com>
Date:   Mon May 18 09:08:52 2015 -0400

    wayland: Remove a lot of E_Comp_Data pointers
    
    Summary: We should just use e_comp->wl_comp_data everywhere we can.
    
    Reviewers: devilhorns, zmike
    
    Reviewed By: zmike
    
    Subscribers: cedric
    
    Differential Revision: https://phab.enlightenment.org/D2507
---
 src/bin/e_comp_wl.c                       |  46 +++++---------
 src/bin/e_comp_wl_data.c                  |  75 ++++++++++------------
 src/bin/e_comp_wl_data.h                  |   6 +-
 src/bin/e_comp_wl_input.c                 | 102 ++++++++++++++----------------
 src/bin/e_comp_wl_input.h                 |  12 ++--
 src/modules/wl_desktop_shell/e_mod_main.c |  94 ++++++---------------------
 src/modules/wl_drm/e_mod_main.c           |   2 +-
 7 files changed, 128 insertions(+), 209 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 9505071..ceccd1b 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -51,37 +51,26 @@ _e_comp_wl_log_cb_print(const char *format, va_list args)
 }
 
 static Eina_Bool
-_e_comp_wl_cb_read(void *data, Ecore_Fd_Handler *hdlr EINA_UNUSED)
+_e_comp_wl_cb_read(void *data EINA_UNUSED, Ecore_Fd_Handler *hdlr EINA_UNUSED)
 {
-   E_Comp_Data *cdata;
-
-   if (!(cdata = data)) return ECORE_CALLBACK_RENEW;
-
    /* dispatch pending wayland events */
-   wl_event_loop_dispatch(cdata->wl.loop, 0);
+   wl_event_loop_dispatch(e_comp->wl_comp_data->wl.loop, 0);
 
    return ECORE_CALLBACK_RENEW;
 }
 
 static void
-_e_comp_wl_cb_prepare(void *data, Ecore_Fd_Handler *hdlr EINA_UNUSED)
+_e_comp_wl_cb_prepare(void *data EINA_UNUSED, Ecore_Fd_Handler *hdlr 
EINA_UNUSED)
 {
-   E_Comp_Data *cdata;
-
-   if (!(cdata = data)) return;
-
    /* flush pending client events */
-   wl_display_flush_clients(cdata->wl.disp);
+   wl_display_flush_clients(e_comp->wl_comp_data->wl.disp);
 }
 
 static Eina_Bool
-_e_comp_wl_cb_module_idle(void *data)
+_e_comp_wl_cb_module_idle(void *data EINA_UNUSED)
 {
-   E_Comp_Data *cdata;
    E_Module  *mod = NULL;
 
-   if (!(cdata = data)) return ECORE_CALLBACK_RENEW;
-
    /* check if we are still loading modules */
    if (e_module_loading_get()) return ECORE_CALLBACK_RENEW;
 
@@ -511,7 +500,7 @@ _e_comp_wl_evas_cb_focus_in(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *obj
 
    /* update keyboard modifier state */
    wl_array_for_each(k, &e_comp->wl_comp_data->kbd.keys)
-     e_comp_wl_input_keyboard_state_update(e_comp->wl_comp_data, *k, 
EINA_TRUE);
+     e_comp_wl_input_keyboard_state_update(*k, EINA_TRUE);
 
    e_comp_wl_input_keyboard_enter_send(ec);
 }
@@ -532,7 +521,7 @@ _e_comp_wl_evas_cb_focus_out(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *ob
 
    /* update keyboard modifier state */
    wl_array_for_each(k, &cdata->kbd.keys)
-     e_comp_wl_input_keyboard_state_update(cdata, *k, EINA_FALSE);
+     e_comp_wl_input_keyboard_state_update(*k, EINA_FALSE);
 
    if (e_object_is_del(E_OBJECT(ec))) return;
 
@@ -894,7 +883,7 @@ _e_comp_wl_cb_key_down(void *event)
    if ((ec = e_client_focused_get()))
      {
         /* update modifier state */
-        e_comp_wl_input_keyboard_state_update(cdata, keycode, EINA_TRUE);
+        e_comp_wl_input_keyboard_state_update(keycode, EINA_TRUE);
 
         if (ec->comp_data->surface)
           {
@@ -918,7 +907,7 @@ _e_comp_wl_cb_key_down(void *event)
 
    if (cdata->kbd.mod_changed)
      {
-        e_comp_wl_input_keyboard_modifiers_update(cdata);
+        e_comp_wl_input_keyboard_modifiers_update();
         cdata->kbd.mod_changed = 0;
      }
 }
@@ -942,7 +931,7 @@ _e_comp_wl_cb_key_up(void *event)
    cdata->kbd.keys.size = (const char *)end - (const char 
*)cdata->kbd.keys.data;
 
    /* update modifier state */
-   e_comp_wl_input_keyboard_state_update(cdata, keycode, EINA_FALSE);
+   e_comp_wl_input_keyboard_state_update(keycode, EINA_FALSE);
 
    if ((ec = e_client_focused_get()))
      {
@@ -968,7 +957,7 @@ _e_comp_wl_cb_key_up(void *event)
 
    if (cdata->kbd.mod_changed)
      {
-        e_comp_wl_input_keyboard_modifiers_update(cdata);
+        e_comp_wl_input_keyboard_modifiers_update();
         cdata->kbd.mod_changed = 0;
      }
 }
@@ -1614,13 +1603,12 @@ _e_comp_wl_compositor_cb_bind(struct wl_client *client, 
void *data EINA_UNUSED,
 }
 
 static void
-_e_comp_wl_compositor_cb_del(E_Comp *comp)
+_e_comp_wl_compositor_cb_del(void *data EINA_UNUSED)
 {
    E_Comp_Data *cdata;
    E_Comp_Wl_Output *output;
 
-   /* get existing compositor data */
-   if (!(cdata = comp->wl_comp_data)) return;
+   cdata = e_comp->wl_comp_data;
 
    EINA_LIST_FREE(cdata->outputs, output)
      {
@@ -2263,7 +2251,7 @@ _e_comp_wl_client_cb_focus_set(void *data EINA_UNUSED, 
E_Client *ec)
    if (e_comp->wl_comp_data->kbd.focus != ec->comp_data->surface)
      {
         e_comp->wl_comp_data->kbd.focus = ec->comp_data->surface;
-        e_comp_wl_data_device_keyboard_focus_set(e_comp->wl_comp_data);
+        e_comp_wl_data_device_keyboard_focus_set();
      }
 }
 
@@ -2462,14 +2450,14 @@ _e_comp_wl_compositor_create(void)
    /* _e_comp_wl_cb_randr_change(NULL, 0, NULL); */
 
    /* try to init data manager */
-   if (!e_comp_wl_data_manager_init(cdata))
+   if (!e_comp_wl_data_manager_init())
      {
         ERR("Could not initialize data manager");
         goto data_err;
      }
 
    /* try to init input */
-   if (!e_comp_wl_input_init(cdata))
+   if (!e_comp_wl_input_init())
      {
         ERR("Could not initialize input");
         goto input_err;
@@ -2543,7 +2531,7 @@ _e_comp_wl_compositor_create(void)
    return EINA_TRUE;
 
 input_err:
-   e_comp_wl_data_manager_shutdown(cdata);
+   e_comp_wl_data_manager_shutdown();
 data_err:
 comp_global_err:
    e_env_unset("WAYLAND_DISPLAY");
diff --git a/src/bin/e_comp_wl_data.c b/src/bin/e_comp_wl_data.c
index 024b178..f9f7c28 100644
--- a/src/bin/e_comp_wl_data.c
+++ b/src/bin/e_comp_wl_data.c
@@ -166,10 +166,7 @@ 
_e_comp_wl_data_device_destroy_selection_data_source(struct wl_listener *listene
    if (!(source = (E_Comp_Wl_Data_Source*)data))
      return;
 
-   if (!(cdata = container_of(listener, E_Comp_Data, 
-                              selection.data_source_listener)))
-     return;
-
+   cdata = e_comp->wl_comp_data;
    cdata->selection.data_source = NULL;
 
    if (cdata->kbd.enabled)
@@ -226,11 +223,13 @@ 
_e_comp_wl_data_device_data_offer_create(E_Comp_Wl_Data_Source *source, struct w
 }
 
 static void
-_e_comp_wl_data_device_selection_set(E_Comp_Data *cdata, E_Comp_Wl_Data_Source 
*source, uint32_t serial)
+_e_comp_wl_data_device_selection_set(void *data EINA_UNUSED, 
E_Comp_Wl_Data_Source *source, uint32_t serial)
 {
    E_Comp_Wl_Data_Source *sel_source;
+   E_Comp_Data *cdata;
    struct wl_resource *offer_res, *data_device_res, *focus = NULL;
 
+   cdata = e_comp->wl_comp_data;
    sel_source = (E_Comp_Wl_Data_Source*)cdata->selection.data_source;
 
    if ((sel_source) &&
@@ -289,7 +288,7 @@ _e_comp_wl_data_device_selection_set(E_Comp_Data *cdata, 
E_Comp_Wl_Data_Source *
 }
 
 static void
-_e_comp_wl_data_device_cb_drag_start(struct wl_client *client, struct 
wl_resource *resource, struct wl_resource *source_resource, struct wl_resource 
*origin_resource, struct wl_resource *icon_resource, uint32_t serial)
+_e_comp_wl_data_device_cb_drag_start(struct wl_client *client, struct 
wl_resource *resource EINA_UNUSED, struct wl_resource *source_resource, struct 
wl_resource *origin_resource, struct wl_resource *icon_resource, uint32_t 
serial)
 {
    E_Comp_Data *cdata;
    E_Comp_Wl_Data_Source *source;
@@ -298,7 +297,7 @@ _e_comp_wl_data_device_cb_drag_start(struct wl_client 
*client, struct wl_resourc
 
    DBG("Data Device Drag Start");
 
-   if (!(cdata = wl_resource_get_user_data(resource))) return;
+   cdata = e_comp->wl_comp_data;
    if ((cdata->kbd.focus) && (cdata->kbd.focus != origin_resource)) return;
 
    if (!(source = wl_resource_get_user_data(source_resource))) return;
@@ -325,14 +324,12 @@ _e_comp_wl_data_device_cb_drag_start(struct wl_client 
*client, struct wl_resourc
 static void
 _e_comp_wl_data_device_cb_selection_set(struct wl_client *client EINA_UNUSED, 
struct wl_resource *resource EINA_UNUSED, struct wl_resource *source_resource, 
uint32_t serial)
 {
-   E_Comp_Data *cdata;
    E_Comp_Wl_Data_Source *source;
 
    if (!source_resource) return;
-   if (!(cdata = wl_resource_get_user_data(resource))) return;
    if (!(source = wl_resource_get_user_data(source_resource))) return;
 
-   _e_comp_wl_data_device_selection_set(cdata, source, serial);
+   _e_comp_wl_data_device_selection_set(e_comp->wl_comp_data, source, serial);
 }
 
 static void 
@@ -351,13 +348,8 @@ static const struct wl_data_device_interface 
_e_data_device_interface =
 static void
 _e_comp_wl_data_device_cb_unbind(struct wl_resource *resource)
 {
-   E_Comp_Data *cdata;
-
-   if(!(cdata = wl_resource_get_user_data(resource)))
-     return;
-
-   cdata->mgr.data_resources = 
-     eina_list_remove(cdata->mgr.data_resources, resource);
+   e_comp->wl_comp_data->mgr.data_resources =
+     eina_list_remove(e_comp->wl_comp_data->mgr.data_resources, resource);
 }
 
 static void
@@ -395,15 +387,14 @@ _e_comp_wl_data_manager_cb_source_create(struct wl_client 
*client EINA_UNUSED, s
 }
 
 static void 
-_e_comp_wl_data_manager_cb_device_get(struct wl_client *client, struct 
wl_resource *manager_resource, uint32_t id, struct wl_resource *seat_resource)
+_e_comp_wl_data_manager_cb_device_get(struct wl_client *client, struct 
wl_resource *manager_resource, uint32_t id, struct wl_resource *seat_resource 
EINA_UNUSED)
 {
    E_Comp_Data *cdata;
    struct wl_resource *res;
 
    /* DBG("Data Manager Device Get"); */
 
-   /* try to get the compositor data */
-   if (!(cdata = wl_resource_get_user_data(seat_resource))) return;
+   cdata = e_comp->wl_comp_data;
 
    /* try to create the data device resource */
    res = wl_resource_create(client, &wl_data_device_interface, 1, id);
@@ -439,13 +430,10 @@ static const struct wl_data_device_manager_interface 
_e_manager_interface =
 /* } */
 
 static void 
-_e_comp_wl_data_cb_bind_manager(struct wl_client *client, void *data, uint32_t 
version EINA_UNUSED, uint32_t id)
+_e_comp_wl_data_cb_bind_manager(struct wl_client *client, void *data 
EINA_UNUSED, uint32_t version EINA_UNUSED, uint32_t id)
 {
-   E_Comp_Data *cdata;
    struct wl_resource *res;
 
-   cdata = data;
-
    /* try to create data manager resource */
    res = wl_resource_create(client, &wl_data_device_manager_interface, 1, id);
    if (!res)
@@ -455,7 +443,8 @@ _e_comp_wl_data_cb_bind_manager(struct wl_client *client, 
void *data, uint32_t v
         return;
      }
 
-   wl_resource_set_implementation(res, &_e_manager_interface, cdata, NULL);
+   wl_resource_set_implementation(res, &_e_manager_interface,
+                                  e_comp->wl_comp_data, NULL);
 }
 
 static void
@@ -527,14 +516,15 @@ 
_e_comp_wl_clipboard_offer_create(E_Comp_Wl_Clipboard_Source* source, int fd)
 }
 
 static Eina_Bool
-_e_comp_wl_clipboard_source_save(void *data, Ecore_Fd_Handler *handler)
+_e_comp_wl_clipboard_source_save(void *data EINA_UNUSED, Ecore_Fd_Handler 
*handler)
 {
    E_Comp_Data *cdata;
    E_Comp_Wl_Clipboard_Source *source;
    char *p;
    int len, size;
 
-   if (!(cdata = data)) return ECORE_CALLBACK_CANCEL;
+   cdata = e_comp->wl_comp_data;
+
    if (!(source = (E_Comp_Wl_Clipboard_Source*)cdata->clipboard.source))
      return ECORE_CALLBACK_CANCEL;
 
@@ -629,7 +619,7 @@ _e_comp_wl_clipboard_source_create(E_Comp_Data *cdata, 
const char *mime_type, ui
 }
 
 static void
-_e_comp_wl_clipboard_selection_set(struct wl_listener *listener EINA_UNUSED, 
void *data)
+_e_comp_wl_clipboard_selection_set(struct wl_listener *listener EINA_UNUSED, 
void *data EINA_UNUSED)
 {
    E_Comp_Data *cdata;
    E_Comp_Wl_Data_Source *sel_source;
@@ -637,7 +627,7 @@ _e_comp_wl_clipboard_selection_set(struct wl_listener 
*listener EINA_UNUSED, voi
    int p[2];
    char *mime_type;
 
-   cdata = data;
+   cdata = e_comp->wl_comp_data;
    sel_source = (E_Comp_Wl_Data_Source*) cdata->selection.data_source;
    clip_source = (E_Comp_Wl_Clipboard_Source*) cdata->clipboard.source;
 
@@ -678,18 +668,24 @@ _e_comp_wl_clipboard_destroy(E_Comp_Data *cdata)
 }
 
 static void
-_e_comp_wl_clipboard_create(E_Comp_Data *cdata)
+_e_comp_wl_clipboard_create(void)
 {
+   E_Comp_Data *cdata;
+
+   cdata = e_comp->wl_comp_data;
    cdata->clipboard.listener.notify = _e_comp_wl_clipboard_selection_set;
    wl_signal_add(&cdata->selection.signal, &cdata->clipboard.listener);
 }
 
 EINTERN void
-e_comp_wl_data_device_keyboard_focus_set(E_Comp_Data *cdata)
+e_comp_wl_data_device_keyboard_focus_set(void)
 {
+   E_Comp_Data *cdata;
    struct wl_resource *data_device_res, *offer_res, *focus;
    E_Comp_Wl_Data_Source *source;
 
+   cdata = e_comp->wl_comp_data;
+
    if (!cdata->kbd.enabled) 
      {
         ERR("Keyboard not enabled");
@@ -723,14 +719,11 @@ e_comp_wl_data_device_keyboard_focus_set(E_Comp_Data 
*cdata)
 }
 
 EINTERN Eina_Bool
-e_comp_wl_data_manager_init(E_Comp_Data *cdata)
+e_comp_wl_data_manager_init(void)
 {
-   /* check for valid compositor data */
-   if (!cdata) 
-     {
-        ERR("No Compositor Data");
-        return EINA_FALSE;
-     }
+   E_Comp_Data *cdata;
+
+   cdata = e_comp->wl_comp_data;
 
    /* try to create global data manager */
    cdata->mgr.global =
@@ -745,16 +738,16 @@ e_comp_wl_data_manager_init(E_Comp_Data *cdata)
    wl_signal_init(&cdata->selection.signal);
 
    /* create clipboard */
-   _e_comp_wl_clipboard_create(cdata);
+   _e_comp_wl_clipboard_create();
 
    return EINA_TRUE;
 }
 
 EINTERN void 
-e_comp_wl_data_manager_shutdown(E_Comp_Data *cdata)
+e_comp_wl_data_manager_shutdown(void)
 {
    /* destroy the global manager resource */
    /* if (cdata->mgr.global) wl_global_destroy(cdata->mgr.global); */
 
-   _e_comp_wl_clipboard_destroy(cdata);
+   _e_comp_wl_clipboard_destroy(e_comp->wl_comp_data);
 }
diff --git a/src/bin/e_comp_wl_data.h b/src/bin/e_comp_wl_data.h
index 6e3df11..e2963f4 100644
--- a/src/bin/e_comp_wl_data.h
+++ b/src/bin/e_comp_wl_data.h
@@ -51,9 +51,9 @@ struct _E_Comp_Wl_Clipboard_Offer
    size_t offset;
 };
 
-EINTERN void e_comp_wl_data_device_keyboard_focus_set(E_Comp_Data *cdata);
-EINTERN Eina_Bool e_comp_wl_data_manager_init(E_Comp_Data *cdata);
-EINTERN void e_comp_wl_data_manager_shutdown(E_Comp_Data *cdata);
+EINTERN void e_comp_wl_data_device_keyboard_focus_set(void);
+EINTERN Eina_Bool e_comp_wl_data_manager_init(void);
+EINTERN void e_comp_wl_data_manager_shutdown(void);
 
 # endif
 #endif
diff --git a/src/bin/e_comp_wl_input.c b/src/bin/e_comp_wl_input.c
index 7cea123..f070ea8 100644
--- a/src/bin/e_comp_wl_input.c
+++ b/src/bin/e_comp_wl_input.c
@@ -4,12 +4,15 @@
 #include <sys/mman.h>
 
 static void
-_e_comp_wl_input_update_seat_caps(E_Comp_Data *cdata)
+_e_comp_wl_input_update_seat_caps(void)
 {
+   E_Comp_Data *cdata;
    Eina_List *l;
    struct wl_resource *res;
    enum wl_seat_capability caps = 0;
 
+   cdata = e_comp->wl_comp_data;
+
    if (cdata->ptr.enabled)
      caps |= WL_SEAT_CAPABILITY_POINTER;
    if (cdata->kbd.enabled)
@@ -34,8 +37,7 @@ _e_comp_wl_input_pointer_cb_cursor_set(struct wl_client 
*client, struct wl_resou
    E_Client *ec;
    Eina_Bool got_mouse = EINA_FALSE;
 
-   /* get compositor data */
-   if (!(cdata = wl_resource_get_user_data(resource))) return;
+   cdata = e_comp->wl_comp_data;
    E_CLIENT_FOREACH(ec)
      {
        if (!ec->comp_data->surface) continue;
@@ -92,9 +94,7 @@ _e_comp_wl_input_cb_pointer_unbind(struct wl_resource 
*resource)
 {
    E_Comp_Data *cdata;
 
-   /* get compositor data */
-   if (!(cdata = wl_resource_get_user_data(resource))) return;
-
+   cdata = e_comp->wl_comp_data;
    cdata->ptr.resources = eina_list_remove(cdata->ptr.resources, resource);
 }
 
@@ -104,8 +104,7 @@ _e_comp_wl_input_cb_pointer_get(struct wl_client *client, 
struct wl_resource *re
    E_Comp_Data *cdata;
    struct wl_resource *res;
 
-   /* get compositor data */
-   if (!(cdata = wl_resource_get_user_data(resource))) return;
+   cdata = e_comp->wl_comp_data;
 
    /* try to create pointer resource */
    res = wl_resource_create(client, &wl_pointer_interface,
@@ -127,9 +126,7 @@ _e_comp_wl_input_cb_keyboard_unbind(struct wl_resource 
*resource)
 {
    E_Comp_Data *cdata;
 
-   /* get compositor data */
-   if (!(cdata = wl_resource_get_user_data(resource))) return;
-
+   cdata = e_comp->wl_comp_data;
    cdata->kbd.resources = eina_list_remove(cdata->kbd.resources, resource);
 }
 
@@ -145,7 +142,7 @@ e_comp_wl_input_keyboard_enter_send(E_Client *ec)
 
    if (!eina_list_count(e_comp->wl_comp_data->kbd.resources)) return;
 
-   e_comp_wl_input_keyboard_modifiers_serialize(e_comp->wl_comp_data);
+   e_comp_wl_input_keyboard_modifiers_serialize();
 
    wc = wl_resource_get_client(ec->comp_data->surface);
    serial = wl_display_next_serial(e_comp->wl_comp_data->wl.disp);
@@ -170,8 +167,7 @@ _e_comp_wl_input_cb_keyboard_get(struct wl_client *client, 
struct wl_resource *r
    E_Comp_Data *cdata;
    struct wl_resource *res;
 
-   /* get compositor data */
-   if (!(cdata = wl_resource_get_user_data(resource))) return;
+   cdata = e_comp->wl_comp_data;
 
    /* try to create keyboard resource */
    res = wl_resource_create(client, &wl_keyboard_interface,
@@ -204,9 +200,7 @@ _e_comp_wl_input_cb_touch_unbind(struct wl_resource 
*resource)
 {
    E_Comp_Data *cdata;
 
-   /* get compositor data */
-   if (!(cdata = wl_resource_get_user_data(resource))) return;
-
+   cdata = e_comp->wl_comp_data;
    cdata->touch.resources = eina_list_remove(cdata->touch.resources, resource);
 }
 
@@ -216,8 +210,7 @@ _e_comp_wl_input_cb_touch_get(struct wl_client *client 
EINA_UNUSED, struct wl_re
     E_Comp_Data *cdata;
     struct wl_resource *res;
 
-    /* get compositor data */
-    if (!(cdata = wl_resource_get_user_data(resource))) return;
+    cdata = e_comp->wl_comp_data;
 
     /* try to create pointer resource */
     res = wl_resource_create(client, &wl_touch_interface,
@@ -246,19 +239,17 @@ _e_comp_wl_input_cb_unbind_seat(struct wl_resource 
*resource)
 {
    E_Comp_Data *cdata;
 
-   if (!(cdata = wl_resource_get_user_data(resource))) return;
-
+   cdata = e_comp->wl_comp_data;
    cdata->seat.resources = eina_list_remove(cdata->seat.resources, resource);
 }
 
 static void
-_e_comp_wl_input_cb_bind_seat(struct wl_client *client, void *data, uint32_t 
version, uint32_t id)
+_e_comp_wl_input_cb_bind_seat(struct wl_client *client, void *data 
EINA_UNUSED, uint32_t version, uint32_t id)
 {
    E_Comp_Data *cdata;
    struct wl_resource *res;
 
-   /* try to create the seat resource */
-   cdata = data;
+   cdata = e_comp->wl_comp_data;
    res = wl_resource_create(client, &wl_seat_interface, MIN(version, 4), id);
    if (!res)
      {
@@ -273,7 +264,7 @@ _e_comp_wl_input_cb_bind_seat(struct wl_client *client, 
void *data, uint32_t ver
    wl_resource_set_implementation(res, &_e_seat_interface, cdata,
                                   _e_comp_wl_input_cb_unbind_seat);
 
-   _e_comp_wl_input_update_seat_caps(cdata);
+   _e_comp_wl_input_update_seat_caps();
    if (cdata->seat.version >= WL_SEAT_NAME_SINCE_VERSION)
      wl_seat_send_name(res, cdata->seat.name);
 }
@@ -326,14 +317,16 @@ _e_comp_wl_input_keymap_fd_get(off_t size)
 }
 
 static void
-_e_comp_wl_input_keymap_update(E_Comp_Data *cdata, struct xkb_keymap *keymap)
+_e_comp_wl_input_keymap_update(struct xkb_keymap *keymap)
 {
    char *tmp;
    xkb_mod_mask_t latched = 0, locked = 0, group = 0;
    struct wl_resource *res;
    Eina_List *l;
    uint32_t serial;
+   E_Comp_Data *cdata;
 
+   cdata = e_comp->wl_comp_data;
    /* unreference any existing keymap */
    if (cdata->xkb.keymap) xkb_map_unref(cdata->xkb.keymap);
 
@@ -404,7 +397,7 @@ _e_comp_wl_input_keymap_update(E_Comp_Data *cdata, struct 
xkb_keymap *keymap)
                              cdata->xkb.fd, cdata->xkb.size);
 
    /* update modifiers */
-   e_comp_wl_input_keyboard_modifiers_update(cdata);
+   e_comp_wl_input_keyboard_modifiers_update();
 
    if ((!latched) && (!locked)) return;
 
@@ -417,14 +410,11 @@ _e_comp_wl_input_keymap_update(E_Comp_Data *cdata, struct 
xkb_keymap *keymap)
 }
 
 EINTERN Eina_Bool
-e_comp_wl_input_init(E_Comp_Data *cdata)
+e_comp_wl_input_init(void)
 {
-   /* check for valid compositor data */
-   if (!cdata)
-     {
-        ERR("No compositor data");
-        return EINA_FALSE;
-     }
+   E_Comp_Data *cdata;
+
+   cdata = e_comp->wl_comp_data;
 
    /* set default seat name */
    if (!cdata->seat.name) cdata->seat.name = "default";
@@ -447,16 +437,12 @@ e_comp_wl_input_init(E_Comp_Data *cdata)
 }
 
 EINTERN void
-e_comp_wl_input_shutdown(E_Comp_Data *cdata)
+e_comp_wl_input_shutdown(void)
 {
    struct wl_resource *res;
+   E_Comp_Data *cdata;
 
-   /* check for valid compositor data */
-   if (!cdata)
-     {
-        ERR("No compositor data");
-        return;
-     }
+   cdata = e_comp->wl_comp_data;
 
    /* destroy pointer resources */
    EINA_LIST_FREE(cdata->ptr.resources, res)
@@ -506,8 +492,12 @@ e_comp_wl_input_keyboard_check(struct wl_resource *res)
 }
 
 EINTERN void
-e_comp_wl_input_keyboard_modifiers_serialize(E_Comp_Data *cdata)
+e_comp_wl_input_keyboard_modifiers_serialize(void)
 {
+   E_Comp_Data *cdata;
+
+   cdata = e_comp->wl_comp_data;
+
    cdata->kbd.mod_depressed =
      xkb_state_serialize_mods(cdata->xkb.state, XKB_STATE_DEPRESSED);
    cdata->kbd.mod_latched =
@@ -519,13 +509,15 @@ e_comp_wl_input_keyboard_modifiers_serialize(E_Comp_Data 
*cdata)
 }
 
 EINTERN void
-e_comp_wl_input_keyboard_modifiers_update(E_Comp_Data *cdata)
+e_comp_wl_input_keyboard_modifiers_update(void)
 {
    uint32_t serial;
    struct wl_resource *res;
    Eina_List *l;
+   E_Comp_Data *cdata;
 
-   e_comp_wl_input_keyboard_modifiers_serialize(cdata);
+   cdata = e_comp->wl_comp_data;
+   e_comp_wl_input_keyboard_modifiers_serialize();
 
    if (!eina_list_count(cdata->kbd.resources)) return;
 
@@ -539,10 +531,12 @@ e_comp_wl_input_keyboard_modifiers_update(E_Comp_Data 
*cdata)
 }
 
 EINTERN void
-e_comp_wl_input_keyboard_state_update(E_Comp_Data *cdata, uint32_t keycode, 
Eina_Bool pressed)
+e_comp_wl_input_keyboard_state_update(uint32_t keycode, Eina_Bool pressed)
 {
    enum xkb_key_direction dir;
+   E_Comp_Data *cdata;
 
+   cdata = e_comp->wl_comp_data;
    if (!cdata->xkb.state) return;
 
    if (pressed) dir = XKB_KEY_DOWN;
@@ -563,7 +557,7 @@ e_comp_wl_input_pointer_enabled_set(Eina_Bool enabled)
      }
 
    e_comp->wl_comp_data->ptr.enabled = !!enabled;
-   _e_comp_wl_input_update_seat_caps(e_comp->wl_comp_data);
+   _e_comp_wl_input_update_seat_caps();
 }
 
 E_API void
@@ -577,21 +571,17 @@ e_comp_wl_input_keyboard_enabled_set(Eina_Bool enabled)
      }
 
    e_comp->wl_comp_data->kbd.enabled = !!enabled;
-   _e_comp_wl_input_update_seat_caps(e_comp->wl_comp_data);
+   _e_comp_wl_input_update_seat_caps();
 }
 
 E_API void
-e_comp_wl_input_keymap_set(E_Comp_Data *cdata, const char *rules, const char 
*model, const char *layout)
+e_comp_wl_input_keymap_set(const char *rules, const char *model, const char 
*layout)
 {
    struct xkb_keymap *keymap;
    struct xkb_rule_names names;
+   E_Comp_Data *cdata;
 
-   /* check for valid compositor data */
-   if (!cdata)
-     {
-        ERR("No compositor data");
-        return;
-     }
+   cdata = e_comp->wl_comp_data;
 
    /* DBG("COMP_WL: Keymap Set: %s %s %s", rules, model, layout); */
 
@@ -611,7 +601,7 @@ e_comp_wl_input_keymap_set(E_Comp_Data *cdata, const char 
*rules, const char *mo
    keymap = xkb_map_new_from_names(cdata->xkb.context, &names, 0);
 
    /* update compositor keymap */
-   _e_comp_wl_input_keymap_update(cdata, keymap);
+   _e_comp_wl_input_keymap_update(keymap);
 
    /* cleanup */
    free((char *)names.rules);
@@ -630,7 +620,7 @@ e_comp_wl_input_touch_enabled_set(Eina_Bool enabled)
      }
 
    e_comp->wl_comp_data->touch.enabled = !!enabled;
-   _e_comp_wl_input_update_seat_caps(e_comp->wl_comp_data);
+   _e_comp_wl_input_update_seat_caps();
 }
 
 EINTERN Eina_Bool
diff --git a/src/bin/e_comp_wl_input.h b/src/bin/e_comp_wl_input.h
index 862dc04..028510d 100644
--- a/src/bin/e_comp_wl_input.h
+++ b/src/bin/e_comp_wl_input.h
@@ -3,22 +3,22 @@
 # ifndef E_COMP_WL_INPUT_H
 #  define E_COMP_WL_INPUT_H
 
-EINTERN Eina_Bool e_comp_wl_input_init(E_Comp_Data *cdata);
-EINTERN void e_comp_wl_input_shutdown(E_Comp_Data *cdata);
+EINTERN Eina_Bool e_comp_wl_input_init(void);
+EINTERN void e_comp_wl_input_shutdown(void);
 EINTERN Eina_Bool e_comp_wl_input_pointer_check(struct wl_resource *res);
 EINTERN Eina_Bool e_comp_wl_input_keyboard_check(struct wl_resource *res);
 EINTERN Eina_Bool e_comp_wl_input_touch_check(struct wl_resource *res);
 
-EINTERN void e_comp_wl_input_keyboard_modifiers_serialize(E_Comp_Data *cdata);
-EINTERN void e_comp_wl_input_keyboard_modifiers_update(E_Comp_Data *cdata);
-EINTERN void e_comp_wl_input_keyboard_state_update(E_Comp_Data *cdata, 
uint32_t keycode, Eina_Bool pressed);
+EINTERN void e_comp_wl_input_keyboard_modifiers_serialize(void);
+EINTERN void e_comp_wl_input_keyboard_modifiers_update(void);
+EINTERN void e_comp_wl_input_keyboard_state_update(uint32_t keycode, Eina_Bool 
pressed);
 EINTERN void e_comp_wl_input_keyboard_enter_send(E_Client *client);
 
 E_API void e_comp_wl_input_pointer_enabled_set(Eina_Bool enabled);
 E_API void e_comp_wl_input_keyboard_enabled_set(Eina_Bool enabled);
 E_API void e_comp_wl_input_touch_enabled_set(Eina_Bool enabled);
 
-E_API void e_comp_wl_input_keymap_set(E_Comp_Data *cdata, const char *rules, 
const char *model, const char *layout);
+E_API void e_comp_wl_input_keymap_set(const char *rules, const char *model, 
const char *layout);
 
 # endif
 #endif
diff --git a/src/modules/wl_desktop_shell/e_mod_main.c 
b/src/modules/wl_desktop_shell/e_mod_main.c
index ff6a222..87b03d7 100644
--- a/src/modules/wl_desktop_shell/e_mod_main.c
+++ b/src/modules/wl_desktop_shell/e_mod_main.c
@@ -140,7 +140,7 @@ _e_shell_surface_cb_pong(struct wl_client *client 
EINA_UNUSED, struct wl_resourc
 }
 
 static void
-_e_shell_surface_cb_move(struct wl_client *client EINA_UNUSED, struct 
wl_resource *resource, struct wl_resource *seat_resource, uint32_t serial 
EINA_UNUSED)
+_e_shell_surface_cb_move(struct wl_client *client EINA_UNUSED, struct 
wl_resource *resource, struct wl_resource *seat_resource EINA_UNUSED, uint32_t 
serial EINA_UNUSED)
 {
    E_Client *ec;
    E_Comp_Data *cdata;
@@ -157,15 +157,7 @@ _e_shell_surface_cb_move(struct wl_client *client 
EINA_UNUSED, struct wl_resourc
 
    if ((ec->maximized) || (ec->fullscreen)) return;
 
-   /* get compositor data from seat */
-   if (!(cdata = wl_resource_get_user_data(seat_resource)))
-     {
-        wl_resource_post_error(seat_resource,
-                               WL_DISPLAY_ERROR_INVALID_OBJECT,
-                               "No Comp_Data for Seat");
-        return;
-     }
-
+   cdata = e_comp->wl_comp_data;
    switch (cdata->ptr.button)
      {
       case BTN_LEFT:
@@ -191,7 +183,7 @@ _e_shell_surface_cb_move(struct wl_client *client 
EINA_UNUSED, struct wl_resourc
 }
 
 static void
-_e_shell_surface_cb_resize(struct wl_client *client EINA_UNUSED, struct 
wl_resource *resource, struct wl_resource *seat_resource, uint32_t serial 
EINA_UNUSED, uint32_t edges)
+_e_shell_surface_cb_resize(struct wl_client *client EINA_UNUSED, struct 
wl_resource *resource, struct wl_resource *seat_resource EINA_UNUSED, uint32_t 
serial EINA_UNUSED, uint32_t edges)
 {
    E_Client *ec;
    E_Comp_Data *cdata;
@@ -211,14 +203,7 @@ _e_shell_surface_cb_resize(struct wl_client *client 
EINA_UNUSED, struct wl_resou
 
    if ((ec->maximized) || (ec->fullscreen)) return;
 
-   /* get compositor data from seat */
-   if (!(cdata = wl_resource_get_user_data(seat_resource)))
-     {
-        wl_resource_post_error(seat_resource,
-                               WL_DISPLAY_ERROR_INVALID_OBJECT,
-                               "No Comp_Data for Seat");
-        return;
-     }
+   cdata = e_comp->wl_comp_data;
 
    DBG("Comp Resize Edges Set: %d", edges);
 
@@ -734,7 +719,7 @@ _e_xdg_shell_surface_cb_window_menu_show(struct wl_client 
*client EINA_UNUSED, s
 }
 
 static void
-_e_xdg_shell_surface_cb_move(struct wl_client *client EINA_UNUSED, struct 
wl_resource *resource, struct wl_resource *seat_resource, uint32_t serial 
EINA_UNUSED)
+_e_xdg_shell_surface_cb_move(struct wl_client *client EINA_UNUSED, struct 
wl_resource *resource, struct wl_resource *seat_resource EINA_UNUSED, uint32_t 
serial EINA_UNUSED)
 {
    E_Client *ec;
    E_Comp_Data *cdata;
@@ -751,15 +736,7 @@ _e_xdg_shell_surface_cb_move(struct wl_client *client 
EINA_UNUSED, struct wl_res
 
    if ((ec->maximized) || (ec->fullscreen)) return;
 
-   /* get compositor data from seat */
-   if (!(cdata = wl_resource_get_user_data(seat_resource)))
-     {
-        wl_resource_post_error(seat_resource,
-                               WL_DISPLAY_ERROR_INVALID_OBJECT,
-                               "No Comp_Data for Seat");
-        return;
-     }
-
+   cdata = e_comp->wl_comp_data;
    switch (cdata->ptr.button)
      {
       case BTN_LEFT:
@@ -785,7 +762,7 @@ _e_xdg_shell_surface_cb_move(struct wl_client *client 
EINA_UNUSED, struct wl_res
 }
 
 static void
-_e_xdg_shell_surface_cb_resize(struct wl_client *client EINA_UNUSED, struct 
wl_resource *resource, struct wl_resource *seat_resource, uint32_t serial 
EINA_UNUSED, uint32_t edges)
+_e_xdg_shell_surface_cb_resize(struct wl_client *client EINA_UNUSED, struct 
wl_resource *resource, struct wl_resource *seat_resource EINA_UNUSED, uint32_t 
serial EINA_UNUSED, uint32_t edges)
 {
    E_Client *ec;
    E_Comp_Data *cdata;
@@ -808,15 +785,7 @@ _e_xdg_shell_surface_cb_resize(struct wl_client *client 
EINA_UNUSED, struct wl_r
 
    if ((ec->maximized) || (ec->fullscreen)) return;
 
-   /* get compositor data from seat */
-   if (!(cdata = wl_resource_get_user_data(seat_resource)))
-     {
-        wl_resource_post_error(seat_resource,
-                               WL_DISPLAY_ERROR_INVALID_OBJECT,
-                               "No Comp_Data for Seat");
-        return;
-     }
-
+   cdata = e_comp->wl_comp_data;
    cdata->resize.resource = resource;
    cdata->resize.edges = edges;
    cdata->ptr.grab_x = cdata->ptr.x;
@@ -1301,23 +1270,17 @@ static const struct xdg_shell_interface 
_e_xdg_shell_interface =
 };
 
 static void
-_e_xdg_shell_cb_unbind(struct wl_resource *resource)
+_e_xdg_shell_cb_unbind(struct wl_resource *resource EINA_UNUSED)
 {
-   E_Comp_Data *cdata;
-
-   if (!(cdata = wl_resource_get_user_data(resource))) return;
-
-   cdata->shell_interface.xdg_shell = NULL;
+   e_comp->wl_comp_data->shell_interface.xdg_shell = NULL;
 }
 
 static int
 _e_xdg_shell_cb_dispatch(const void *implementation EINA_UNUSED, void *target, 
uint32_t opcode, const struct wl_message *message EINA_UNUSED, union 
wl_argument *args)
 {
-   E_Comp_Data *cdata;
    struct wl_resource *res;
 
    if (!(res = target)) return 0;
-   if (!(cdata = wl_resource_get_user_data(res))) return 0;
 
    if (opcode != 0)
      {
@@ -1335,65 +1298,50 @@ _e_xdg_shell_cb_dispatch(const void *implementation 
EINA_UNUSED, void *target, u
         return 0;
      }
 
-   wl_resource_set_implementation(res, &_e_xdg_shell_interface, cdata,
+   wl_resource_set_implementation(res, &_e_xdg_shell_interface,
+                                  e_comp->wl_comp_data,
                                   _e_xdg_shell_cb_unbind);
 
    return 1;
 }
 
 static void
-_e_shell_cb_unbind(struct wl_resource *resource)
+_e_shell_cb_unbind(struct wl_resource *resource EINA_UNUSED)
 {
-   E_Comp_Data *cdata;
-
-   if (!(cdata = wl_resource_get_user_data(resource))) return;
-
-   cdata->shell_interface.shell = NULL;
+   e_comp->wl_comp_data->shell_interface.shell = NULL;
 }
 
 static void
-_e_shell_cb_bind(struct wl_client *client, void *data, uint32_t version, 
uint32_t id)
+_e_shell_cb_bind(struct wl_client *client, void *data EINA_UNUSED, uint32_t 
version, uint32_t id)
 {
-   E_Comp_Data *cdata;
    struct wl_resource *res;
 
-   if (!(cdata = data))
-     {
-        wl_client_post_no_memory(client);
-        return;
-     }
-
    if (!(res = wl_resource_create(client, &wl_shell_interface, MIN(version, 
1), id)))
      {
         wl_client_post_no_memory(client);
         return;
      }
 
-   cdata->shell_interface.shell = res;
-   wl_resource_set_implementation(res, &_e_shell_interface, cdata,
+   e_comp->wl_comp_data->shell_interface.shell = res;
+   wl_resource_set_implementation(res, &_e_shell_interface,
+                                  e_comp->wl_comp_data,
                                   _e_shell_cb_unbind);
 }
 
 static void
 _e_xdg_shell_cb_bind(struct wl_client *client, void *data, uint32_t version, 
uint32_t id)
 {
-   E_Comp_Data *cdata;
    struct wl_resource *res;
 
-   if (!(cdata = data))
-     {
-        wl_client_post_no_memory(client);
-        return;
-     }
-
    if (!(res = wl_resource_create(client, &xdg_shell_interface, MIN(version, 
1), id)))
      {
         wl_client_post_no_memory(client);
         return;
      }
 
-   cdata->shell_interface.xdg_shell = res;
-   wl_resource_set_dispatcher(res, _e_xdg_shell_cb_dispatch, NULL, cdata, 
NULL);
+   e_comp->wl_comp_data->shell_interface.xdg_shell = res;
+   wl_resource_set_dispatcher(res, _e_xdg_shell_cb_dispatch, NULL,
+                              e_comp->wl_comp_data, NULL);
 }
 
 E_API E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Wl_Desktop_Shell" };
diff --git a/src/modules/wl_drm/e_mod_main.c b/src/modules/wl_drm/e_mod_main.c
index 668fe43..8773705 100644
--- a/src/modules/wl_drm/e_mod_main.c
+++ b/src/modules/wl_drm/e_mod_main.c
@@ -689,7 +689,7 @@ e_modapi_init(E_Module *m)
 
    /* FIXME: This is just for testing at the moment....
     * happens to jive with what drm does */
-   e_comp_wl_input_keymap_set(e_comp->wl_comp_data, NULL, NULL, NULL);
+   e_comp_wl_input_keymap_set(NULL, NULL, NULL);
 
    activate_handler =
       ecore_event_handler_add(ECORE_DRM_EVENT_ACTIVATE,

-- 


Reply via email to