Fix building Enlightenment for X11-only, Wayland-Only, and X11 with Wayland clients.

Signed-off-by: Chris Michael <cp.michael@samsung.com>

Additional authors: Chris Michael <cp.michael@samsung.com>
devs/devilhorns/xwayland
Mike Blumenkrantz 9 years ago committed by Chris Michael
parent 5448f0a1ac
commit 3b649534c9
  1. 2
      src/bin/Makefile.mk
  2. 3
      src/bin/e_client.h
  3. 3
      src/bin/e_comp.c
  4. 34
      src/bin/e_comp.h
  5. 462
      src/bin/e_comp_wl.c
  6. 101
      src/bin/e_comp_wl.h
  7. 40
      src/bin/e_comp_wl_data.c
  8. 13
      src/bin/e_comp_wl_data.h
  9. 37
      src/bin/e_comp_wl_input.c
  10. 14
      src/bin/e_comp_wl_input.h
  11. 440
      src/bin/e_comp_x.c
  12. 8
      src/bin/e_comp_x.h
  13. 2
      src/bin/e_hints.c
  14. 6
      src/bin/e_includes.h
  15. 4
      src/bin/e_int_client_prop.c
  16. 9
      src/bin/e_pixmap.c
  17. 2
      src/modules/Makefile_access.mk
  18. 2
      src/modules/Makefile_contact.mk
  19. 2
      src/modules/Makefile_wl_desktop_shell.mk
  20. 2
      src/modules/Makefile_wl_fb.mk
  21. 1
      src/modules/access/e_mod_main.c
  22. 4
      src/modules/contact/e_policy.c
  23. 131
      src/modules/wl_desktop_shell/e_mod_main.c
  24. 2
      src/modules/wl_drm/e_mod_main.c
  25. 1
      src/modules/wl_fb/e_mod_main.c
  26. 4
      src/modules/wl_x11/e_mod_main.c

@ -385,7 +385,7 @@ src/bin/e_comp_wl_input.c \
src/bin/e_comp_wl.c
endif
src_bin_enlightenment_CPPFLAGS = $(E_CPPFLAGS) -DEFL_BETA_API_SUPPORT -DEFL_EO_API_SUPPORT -DE_LOGGING=1 @WAYLAND_CFLAGS@ @WAYLAND_EGL_CFLAGS@ @ECORE_X_CFLAGS@ -DNEED_X=1
src_bin_enlightenment_CPPFLAGS = $(E_CPPFLAGS) -DEFL_BETA_API_SUPPORT -DEFL_EO_API_SUPPORT -DE_LOGGING=1 @WAYLAND_CFLAGS@ @WAYLAND_EGL_CFLAGS@ @ECORE_X_CFLAGS@ -DNEED_X=1 -DNEED_WL
src_bin_enlightenment_SOURCES = \
src/bin/e_main.c \
$(enlightenment_src)

@ -257,8 +257,7 @@ struct E_Client
E_Direction shade_dir;
E_Comp_Wl_Client_Data *wl_comp_data;
E_Comp_X_Client_Data *x_comp_data; //private for the compositor engine (X, Wayland) ONLY
E_Comp_Client_Data *comp_data;
Evas_Object *input_object; //for running wayland clients in X

@ -1,4 +1,7 @@
#include "e.h"
#if defined(HAVE_WAYLAND_CLIENTS) || defined(HAVE_WAYLAND_ONLY)
# include "e_comp_wl.h"
#endif
#define OVER_FLOW 1
//#define SHAPE_DEBUG

@ -1,15 +1,27 @@
#ifdef E_TYPEDEFS
typedef struct _E_Comp E_Comp;
typedef struct _E_Comp_X_Data E_Comp_X_Data;
typedef struct _E_Comp_Wl_Data E_Comp_Wl_Data;
typedef struct _E_Comp_X_Client_Data E_Comp_X_Client_Data;
typedef struct _E_Comp_Wl_Client_Data E_Comp_Wl_Client_Data;
#ifdef E_COMP_WL
typedef struct _E_Comp_Wl_Client_Data E_Comp_Client_Data;
typedef struct _E_Comp_Wl_Data E_Comp_Data;
#endif
#ifdef E_COMP_X
typedef struct _E_Comp_X_Client_Data E_Comp_Client_Data;
typedef struct _E_Comp_X_Data E_Comp_Data;
#endif
#if !defined(E_COMP_WL) && !defined(E_COMP_X)
typedef struct _E_Comp_Data E_Comp_Data;
typedef struct _E_Comp_Client_Data E_Comp_Client_Data;
#endif
typedef struct _E_Comp_Demo_Style_Item E_Comp_Demo_Style_Item;
#define E_COMP_TYPE (int) 0xE0b01003
# define E_COMP_TYPE (int) 0xE0b01003
#define E_LAYER_COUNT 19
#define E_CLIENT_LAYER_COUNT 11
# define E_LAYER_COUNT 19
# define E_CLIENT_LAYER_COUNT 11
typedef enum _E_Layer
{
@ -35,8 +47,8 @@ typedef enum _E_Layer
} E_Layer;
#else
#ifndef E_COMP_H
#define E_COMP_H
# ifndef E_COMP_H
# define E_COMP_H
# include "e_comp_cfdata.h"
@ -58,8 +70,8 @@ struct _E_Comp
Eina_List *clients;
unsigned int new_clients;
E_Comp_X_Data *x_comp_data;
E_Comp_Wl_Data *wl_comp_data;
E_Comp_Data *x_comp_data;
E_Comp_Data *wl_comp_data;
E_Pixmap_Type comp_type; //for determining X/Wayland/

File diff suppressed because it is too large Load Diff

@ -1,4 +1,5 @@
#ifdef E_TYPEDEFS
#else
# ifndef E_COMP_WL_H
# define E_COMP_WL_H
@ -37,6 +38,57 @@
typedef struct _E_Comp_Wl_Buffer E_Comp_Wl_Buffer;
typedef struct _E_Comp_Wl_Buffer_Ref E_Comp_Wl_Buffer_Ref;
typedef struct _E_Comp_Wl_Subsurf E_Comp_Wl_Subsurf;
typedef struct _E_Comp_Wl_Client_Data E_Comp_Wl_Client_Data;
typedef struct _E_Comp_Wl_Data E_Comp_Wl_Data;
struct _E_Comp_Wl_Buffer
{
struct wl_resource *resource;
struct wl_signal destroy_signal;
struct wl_listener destroy_listener;
union
{
struct wl_shm_buffer *shm_buffer;
void *legacy_buffer;
};
int32_t w, h;
uint32_t busy;
};
struct _E_Comp_Wl_Buffer_Ref
{
E_Comp_Wl_Buffer *buffer;
struct wl_listener destroy_listener;
};
struct _E_Comp_Wl_Subsurf
{
struct wl_resource *resource;
E_Client *parent;
struct
{
int x, y;
Eina_Bool set;
} position;
struct
{
int x, y;
Eina_Bool has_data;
Eina_Bool new_attach;
E_Comp_Wl_Buffer_Ref buffer_ref;
Eina_Tiler *damage;
Eina_Tiler *opaque;
Eina_Tiler *input;
} cached;
Eina_Bool synchronized;
};
struct _E_Comp_Wl_Data
{
@ -151,55 +203,6 @@ struct _E_Comp_Wl_Data
Eina_Bool restack : 1;
};
struct _E_Comp_Wl_Buffer
{
struct wl_resource *resource;
struct wl_signal destroy_signal;
struct wl_listener destroy_listener;
union
{
struct wl_shm_buffer *shm_buffer;
void *legacy_buffer;
};
int32_t w, h;
uint32_t busy;
};
struct _E_Comp_Wl_Buffer_Ref
{
E_Comp_Wl_Buffer *buffer;
struct wl_listener destroy_listener;
};
struct _E_Comp_Wl_Subsurf
{
struct wl_resource *resource;
E_Client *parent;
struct
{
int x, y;
Eina_Bool set;
} position;
struct
{
int x, y;
Eina_Bool has_data;
Eina_Bool new_attach;
E_Comp_Wl_Buffer_Ref buffer_ref;
Eina_Tiler *damage;
Eina_Tiler *opaque;
Eina_Tiler *input;
} cached;
Eina_Bool synchronized;
};
struct _E_Comp_Wl_Client_Data
{
Ecore_Timer *first_draw_tmr;

@ -1,6 +1,5 @@
#define E_COMP_WL
#include "e.h"
#include "e_comp_wl.h"
#include "e_comp_wl_data.h"
static struct wl_resource *
_e_comp_wl_data_find_for_client(Eina_List *list, struct wl_client *client)
@ -153,14 +152,14 @@ static const struct wl_data_source_interface _e_data_source_interface =
static void
_e_comp_wl_data_device_destroy_selection_data_source(struct wl_listener *listener, void *data)
{
E_Comp_Wl_Data *cdata;
E_Comp_Data *cdata;
E_Comp_Wl_Data_Source *source;
struct wl_resource *data_device_res, *focus = NULL;
if (!(source = (E_Comp_Wl_Data_Source*)data))
return;
if (!(cdata = container_of(listener, E_Comp_Wl_Data,
if (!(cdata = container_of(listener, E_Comp_Data,
selection.data_source_listener)))
return;
@ -216,7 +215,7 @@ _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_Wl_Data *cdata, E_Comp_Wl_Data_Source *source, uint32_t serial)
_e_comp_wl_data_device_selection_set(E_Comp_Data *cdata, E_Comp_Wl_Data_Source *source, uint32_t serial)
{
E_Comp_Wl_Data_Source *sel_source;
struct wl_resource *offer_res, *data_device_res, *focus = NULL;
@ -289,7 +288,7 @@ _e_comp_wl_data_device_cb_drag_start(struct wl_client *client EINA_UNUSED, struc
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_Wl_Data *cdata;
E_Comp_Data *cdata;
E_Comp_Wl_Data_Source *source;
if (!source_resource) return;
@ -308,7 +307,7 @@ 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_Wl_Data *cdata;
E_Comp_Data *cdata;
if(!(cdata = wl_resource_get_user_data(resource)))
return;
@ -352,7 +351,7 @@ _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 *cdata;
E_Comp_Data *cdata;
struct wl_resource *res;
DBG("Comp_Wl_Data: Get Data Device");
@ -384,7 +383,7 @@ static const struct wl_data_device_manager_interface _e_manager_interface =
/* static void */
/* _e_comp_wl_data_cb_unbind_manager(struct wl_resource *resource) */
/* { */
/* E_Comp_Wl_Data *cdata; */
/* E_Comp_Data *cdata; */
/* DBG("Comp_Wl_Data: Unbind Manager"); */
@ -396,7 +395,7 @@ 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 *cdata;
E_Comp_Data *cdata;
struct wl_resource *res;
if (!(cdata = data)) return;
@ -486,13 +485,12 @@ _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_Data *cdata;
E_Comp_Data *cdata;
E_Comp_Wl_Clipboard_Source *source;
char *p;
int len, size;
if (!(cdata = (E_Comp_Wl_Data*)data))
return ECORE_CALLBACK_CANCEL;
if (!(cdata = data)) return ECORE_CALLBACK_CANCEL;
if (!(source = (E_Comp_Wl_Clipboard_Source*)cdata->clipboard.source))
return ECORE_CALLBACK_CANCEL;
@ -555,7 +553,7 @@ _e_comp_wl_clipboard_source_cancelled_send(E_Comp_Wl_Data_Source *source EINA_UN
}
static E_Comp_Wl_Clipboard_Source*
_e_comp_wl_clipboard_source_create(E_Comp_Wl_Data *cdata, const char *mime_type, uint32_t serial, int fd)
_e_comp_wl_clipboard_source_create(E_Comp_Data *cdata, const char *mime_type, uint32_t serial, int fd)
{
E_Comp_Wl_Clipboard_Source *source;
@ -591,13 +589,13 @@ _e_comp_wl_clipboard_source_create(E_Comp_Wl_Data *cdata, const char *mime_type,
static void
_e_comp_wl_clipboard_selection_set(struct wl_listener *listener EINA_UNUSED, void *data)
{
E_Comp_Wl_Data *cdata;
E_Comp_Data *cdata;
E_Comp_Wl_Data_Source *sel_source;
E_Comp_Wl_Clipboard_Source *clip_source;
int p[2];
char *mime_type;
if (!(cdata = (E_Comp_Wl_Data*)data)) return;
if (!(cdata = data)) return;
sel_source = (E_Comp_Wl_Data_Source*) cdata->selection.data_source;
clip_source = (E_Comp_Wl_Clipboard_Source*) cdata->clipboard.source;
@ -636,7 +634,7 @@ _e_comp_wl_clipboard_selection_set(struct wl_listener *listener EINA_UNUSED, voi
}
static void
_e_comp_wl_clipboard_destroy(E_Comp_Wl_Data *cdata)
_e_comp_wl_clipboard_destroy(E_Comp_Data *cdata)
{
if (!cdata) return;
@ -644,7 +642,7 @@ _e_comp_wl_clipboard_destroy(E_Comp_Wl_Data *cdata)
}
static void
_e_comp_wl_clipboard_create(E_Comp_Wl_Data *cdata)
_e_comp_wl_clipboard_create(E_Comp_Data *cdata)
{
if (!cdata) return;
@ -653,7 +651,7 @@ _e_comp_wl_clipboard_create(E_Comp_Wl_Data *cdata)
}
EINTERN void
e_comp_wl_data_device_keyboard_focus_set(E_Comp_Wl_Data *cdata)
e_comp_wl_data_device_keyboard_focus_set(E_Comp_Data *cdata)
{
struct wl_resource *data_device_res, *offer_res, *focus;
E_Comp_Wl_Data_Source *source;
@ -678,7 +676,7 @@ e_comp_wl_data_device_keyboard_focus_set(E_Comp_Wl_Data *cdata)
}
EINTERN Eina_Bool
e_comp_wl_data_manager_init(E_Comp_Wl_Data *cdata)
e_comp_wl_data_manager_init(E_Comp_Data *cdata)
{
/* check for valid compositor data */
if (!cdata) return EINA_FALSE;
@ -702,7 +700,7 @@ e_comp_wl_data_manager_init(E_Comp_Wl_Data *cdata)
}
EINTERN void
e_comp_wl_data_manager_shutdown(E_Comp_Wl_Data *cdata EINA_UNUSED)
e_comp_wl_data_manager_shutdown(E_Comp_Data *cdata)
{
/* destroy the global manager resource */
/* if (cdata->mgr.global) wl_global_destroy(cdata->mgr.global); */

@ -3,13 +3,16 @@
# ifndef E_COMP_WL_DATA_H
# define E_COMP_WL_DATA_H
# undef NEED_X
# include "e_comp_wl.h"
# define CLIPBOARD_CHUNK 1024
typedef struct _E_Comp_Wl_Data_Source E_Comp_Wl_Data_Source;
typedef struct _E_Comp_Wl_Data_Offer E_Comp_Wl_Data_Offer;
typedef struct _E_Comp_Wl_Clipboard_Source E_Comp_Wl_Clipboard_Source;
typedef struct _E_Comp_Wl_Clipboard_Offer E_Comp_Wl_Clipboard_Offer;
#define CLIPBOARD_CHUNK 1024
struct _E_Comp_Wl_Data_Source
{
struct wl_resource *resource; //resource of wl_data_source
@ -48,9 +51,9 @@ struct _E_Comp_Wl_Clipboard_Offer
size_t offset;
};
EINTERN void e_comp_wl_data_device_keyboard_focus_set(E_Comp_Wl_Data *cdata);
EINTERN Eina_Bool e_comp_wl_data_manager_init(E_Comp_Wl_Data *cdata);
EINTERN void e_comp_wl_data_manager_shutdown(E_Comp_Wl_Data *cdata);
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);
# endif
#endif

@ -1,10 +1,9 @@
#define E_COMP_WL
#include "e.h"
#include "e_comp_wl.h"
#include "e_comp_wl_input.h"
#include <sys/mman.h>
static void
_e_comp_wl_input_update_seat_caps(E_Comp_Wl_Data *cdata)
_e_comp_wl_input_update_seat_caps(E_Comp_Data *cdata)
{
Eina_List *l;
struct wl_resource *res;
@ -32,7 +31,7 @@ _e_comp_wl_input_cb_resource_destroy(struct wl_client *client EINA_UNUSED, struc
static void
_e_comp_wl_input_pointer_cb_cursor_set(struct wl_client *client EINA_UNUSED, struct wl_resource *resource EINA_UNUSED, uint32_t serial EINA_UNUSED, struct wl_resource *surface_resource EINA_UNUSED, int32_t x EINA_UNUSED, int32_t y EINA_UNUSED)
{
E_Comp_Wl_Data *cdata;
E_Comp_Data *cdata;
/* get compositor data */
if (!(cdata = wl_resource_get_user_data(resource))) return;
@ -52,7 +51,7 @@ static const struct wl_keyboard_interface _e_keyboard_interface =
static void
_e_comp_wl_input_cb_pointer_unbind(struct wl_resource *resource)
{
E_Comp_Wl_Data *cdata;
E_Comp_Data *cdata;
/* get compositor data */
if (!(cdata = wl_resource_get_user_data(resource))) return;
@ -63,7 +62,7 @@ _e_comp_wl_input_cb_pointer_unbind(struct wl_resource *resource)
static void
_e_comp_wl_input_cb_pointer_get(struct wl_client *client, struct wl_resource *resource, uint32_t id)
{
E_Comp_Wl_Data *cdata;
E_Comp_Data *cdata;
struct wl_resource *res;
/* get compositor data */
@ -87,7 +86,7 @@ _e_comp_wl_input_cb_pointer_get(struct wl_client *client, struct wl_resource *re
static void
_e_comp_wl_input_cb_keyboard_unbind(struct wl_resource *resource)
{
E_Comp_Wl_Data *cdata;
E_Comp_Data *cdata;
/* get compositor data */
if (!(cdata = wl_resource_get_user_data(resource))) return;
@ -98,7 +97,7 @@ _e_comp_wl_input_cb_keyboard_unbind(struct wl_resource *resource)
static void
_e_comp_wl_input_cb_keyboard_get(struct wl_client *client, struct wl_resource *resource, uint32_t id)
{
E_Comp_Wl_Data *cdata;
E_Comp_Data *cdata;
struct wl_resource *res;
/* get compositor data */
@ -126,7 +125,7 @@ _e_comp_wl_input_cb_keyboard_get(struct wl_client *client, struct wl_resource *r
static void
_e_comp_wl_input_cb_touch_get(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t id EINA_UNUSED)
{
E_Comp_Wl_Data *cdata;
E_Comp_Data *cdata;
/* DBG("Input Touch Get"); */
@ -146,7 +145,7 @@ static const struct wl_seat_interface _e_seat_interface =
static void
_e_comp_wl_input_cb_unbind_seat(struct wl_resource *resource)
{
E_Comp_Wl_Data *cdata;
E_Comp_Data *cdata;
if (!(cdata = wl_resource_get_user_data(resource))) return;
@ -156,7 +155,7 @@ _e_comp_wl_input_cb_unbind_seat(struct wl_resource *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_Data *cdata;
E_Comp_Data *cdata;
struct wl_resource *res;
if (!(cdata = data)) return;
@ -218,7 +217,7 @@ _e_comp_wl_input_keymap_fd_get(off_t size)
}
static void
_e_comp_wl_input_keymap_update(E_Comp_Wl_Data *cdata, struct xkb_keymap *keymap)
_e_comp_wl_input_keymap_update(E_Comp_Data *cdata, struct xkb_keymap *keymap)
{
char *tmp;
xkb_mod_mask_t latched, locked;
@ -303,7 +302,7 @@ _e_comp_wl_input_keymap_update(E_Comp_Wl_Data *cdata, struct xkb_keymap *keymap)
}
EINTERN Eina_Bool
e_comp_wl_input_init(E_Comp_Wl_Data *cdata)
e_comp_wl_input_init(E_Comp_Data *cdata)
{
/* check for valid compositor data */
if (!cdata) return EINA_FALSE;
@ -327,7 +326,7 @@ e_comp_wl_input_init(E_Comp_Wl_Data *cdata)
}
EINTERN void
e_comp_wl_input_shutdown(E_Comp_Wl_Data *cdata)
e_comp_wl_input_shutdown(E_Comp_Data *cdata)
{
/* Eina_List *l; */
struct wl_resource *res;
@ -368,7 +367,7 @@ e_comp_wl_input_keyboard_check(struct wl_resource *res)
}
EINTERN void
e_comp_wl_input_keyboard_modifiers_update(E_Comp_Wl_Data *cdata)
e_comp_wl_input_keyboard_modifiers_update(E_Comp_Data *cdata)
{
xkb_mod_mask_t depressed, latched, locked;
xkb_layout_index_t group;
@ -404,7 +403,7 @@ e_comp_wl_input_keyboard_modifiers_update(E_Comp_Wl_Data *cdata)
}
EINTERN void
e_comp_wl_input_keyboard_state_update(E_Comp_Wl_Data *cdata, uint32_t keycode, Eina_Bool pressed)
e_comp_wl_input_keyboard_state_update(E_Comp_Data *cdata, uint32_t keycode, Eina_Bool pressed)
{
enum xkb_key_direction dir;
@ -419,7 +418,7 @@ e_comp_wl_input_keyboard_state_update(E_Comp_Wl_Data *cdata, uint32_t keycode, E
}
EAPI void
e_comp_wl_input_pointer_enabled_set(E_Comp_Wl_Data *cdata, Eina_Bool enabled)
e_comp_wl_input_pointer_enabled_set(E_Comp_Data *cdata, Eina_Bool enabled)
{
/* check for valid compositor data */
if (!cdata) return;
@ -429,7 +428,7 @@ e_comp_wl_input_pointer_enabled_set(E_Comp_Wl_Data *cdata, Eina_Bool enabled)
}
EAPI void
e_comp_wl_input_keyboard_enabled_set(E_Comp_Wl_Data *cdata, Eina_Bool enabled)
e_comp_wl_input_keyboard_enabled_set(E_Comp_Data *cdata, Eina_Bool enabled)
{
/* check for valid compositor data */
if (!cdata) return;
@ -439,7 +438,7 @@ e_comp_wl_input_keyboard_enabled_set(E_Comp_Wl_Data *cdata, Eina_Bool enabled)
}
EAPI void
e_comp_wl_input_keymap_set(E_Comp_Wl_Data *cdata, const char *rules, const char *model, const char *layout)
e_comp_wl_input_keymap_set(E_Comp_Data *cdata, const char *rules, const char *model, const char *layout)
{
struct xkb_keymap *keymap;
struct xkb_rule_names names;

@ -3,18 +3,18 @@
# ifndef E_COMP_WL_INPUT_H
# define E_COMP_WL_INPUT_H
EINTERN Eina_Bool e_comp_wl_input_init(E_Comp_Wl_Data *cdata);
EINTERN void e_comp_wl_input_shutdown(E_Comp_Wl_Data *cdata);
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_pointer_check(struct wl_resource *res);
EINTERN Eina_Bool e_comp_wl_input_keyboard_check(struct wl_resource *res);
EINTERN void e_comp_wl_input_keyboard_modifiers_update(E_Comp_Wl_Data *cdata);
EINTERN void e_comp_wl_input_keyboard_state_update(E_Comp_Wl_Data *cdata, uint32_t keycode, Eina_Bool pressed);
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);
EAPI void e_comp_wl_input_pointer_enabled_set(E_Comp_Wl_Data *cdata, Eina_Bool enabled);
EAPI void e_comp_wl_input_keyboard_enabled_set(E_Comp_Wl_Data *cdata, Eina_Bool enabled);
EAPI void e_comp_wl_input_pointer_enabled_set(E_Comp_Data *cdata, Eina_Bool enabled);
EAPI void e_comp_wl_input_keyboard_enabled_set(E_Comp_Data *cdata, Eina_Bool enabled);
EAPI void e_comp_wl_input_keymap_set(E_Comp_Wl_Data *cdata, const char *rules, const char *model, const char *layout);
EAPI void e_comp_wl_input_keymap_set(E_Comp_Data *cdata, const char *rules, const char *model, const char *layout);
# endif
#endif

File diff suppressed because it is too large Load Diff

@ -1,8 +1,10 @@
#ifdef E_TYPEDEFS
# include <Ecore_X.h>
# include "e_atoms.h"
# include "e_hints.h"
# include "e_randr.h"
# include "e_atoms.h"
# include "e_hints.h"
# include "e_randr.h"
typedef struct _E_Comp_X_Client_Data E_Comp_X_Client_Data;
#else
# ifndef E_COMP_X_H

@ -721,7 +721,9 @@ e_hints_window_state_update(E_Client *ec, int state, int action)
{
case ECORE_X_WINDOW_STATE_ICONIFIED:
if (action != ECORE_X_WINDOW_STATE_ACTION_ADD) return;
#ifndef HAVE_WAYLAND_ONLY
if (ec->icccm.state == ECORE_X_WINDOW_STATE_HINT_ICONIC) return;
#endif
if (ec->lock_client_iconify) return;
e_client_iconify(ec);
break;

@ -8,8 +8,8 @@
#include "e_zone.h"
#include "e_desk.h"
#include "e_auth.h"
#ifndef HAVE_WAYLAND_ONLY
# include "e_comp_x.h"
#ifdef NEED_X
# include "e_comp_x.h"
#endif
#include "e_pixmap.h"
#include "e_comp_object.h"
@ -158,5 +158,7 @@
#if defined(HAVE_WAYLAND_CLIENTS) || defined(HAVE_WAYLAND_ONLY)
# include "e_comp_wl.h"
# include "e_comp_wl_data.h"
# include "e_comp_wl_input.h"
# include "e_uuid_store.h"
#endif

@ -145,7 +145,7 @@ _create_data(E_Dialog *cfd, E_Client *ec)
cfdata->client->icccm.max_aspect);
cfdata->icccm.aspect = strdup(buf);
}
#ifdef E_COMP_X_H
#ifndef HAVE_WAYLAND_ONLY
if (cfdata->client->icccm.initial_state != ECORE_X_WINDOW_STATE_HINT_NONE)
{
switch (cfdata->client->icccm.initial_state)
@ -212,7 +212,7 @@ _create_data(E_Dialog *cfd, E_Client *ec)
(unsigned int)cfdata->client->icccm.client_leader);
cfdata->icccm.client_leader = strdup(buf);
}
#ifdef E_COMP_X_H
#ifndef HAVE_WAYLAND_ONLY
switch (cfdata->client->icccm.gravity)
{
case ECORE_X_GRAVITY_FORGET:

@ -377,6 +377,7 @@ e_pixmap_refresh(E_Pixmap *cp)
{
uint32_t pixmap;
int pw, ph;
E_Comp_X_Client_Data *cd = (E_Comp_X_Client_Data*)cp->client->comp_data;
pixmap = ecore_x_composite_name_window_pixmap_get(cp->parent ?: cp->win);
if (cp->client)
@ -386,8 +387,8 @@ e_pixmap_refresh(E_Pixmap *cp)
if (cp->client->comp_data &&
cp->client->comp_data->pw && cp->client->comp_data->ph)
{
pw = cp->client->x_comp_data->pw;
ph = cp->client->x_comp_data->ph;
pw = cd->pw;
ph = cd->ph;
}
else
ecore_x_pixmap_geometry_get(pixmap, NULL, NULL, &pw, &ph);
@ -635,6 +636,7 @@ e_pixmap_image_refresh(E_Pixmap *cp)
cp->image = ecore_x_image_new(cp->w, cp->h, cp->visual, cp->client->depth);
if (cp->image)
cp->image_argb = ecore_x_image_is_argb32_get(cp->image);
return !!cp->image;
#endif
break;
case E_PIXMAP_TYPE_WL:
@ -646,7 +648,8 @@ e_pixmap_image_refresh(E_Pixmap *cp)
default:
break;
}
return !!cp->image;
return EINA_FALSE;
}
EAPI Eina_Bool

@ -8,7 +8,7 @@ accesspkgdir = $(MDIR)/access/$(MODULE_ARCH)
accesspkg_LTLIBRARIES = src/modules/access/module.la
src_modules_access_module_la_LIBADD = $(MOD_LIBS)
src_modules_access_module_la_CPPFLAGS = $(MOD_CPPFLAGS)
src_modules_access_module_la_CPPFLAGS = $(MOD_CPPFLAGS) -DNEED_X
src_modules_access_module_la_LDFLAGS = $(MOD_LDFLAGS)
src_modules_access_module_la_SOURCES = src/modules/access/e_mod_main.c \
src/modules/access/e_mod_main.h \

@ -9,7 +9,7 @@ contactpkgdir = $(MDIR)/contact/$(MODULE_ARCH)
contactpkg_LTLIBRARIES = src/modules/contact/module.la
src_modules_contact_module_la_LIBADD = $(MOD_LIBS)
src_modules_contact_module_la_CPPFLAGS = $(MOD_CPPFLAGS)
src_modules_contact_module_la_CPPFLAGS = $(MOD_CPPFLAGS) -DNEED_X
src_modules_contact_module_la_LDFLAGS = $(MOD_LDFLAGS)
src_modules_contact_module_la_SOURCES = src/modules/contact/e_mod_main.c \
src/modules/contact/e_mod_main.h \

@ -12,7 +12,7 @@ wl_desktop_shellpkgdir = $(MDIR)/wl_desktop_shell/$(MODULE_ARCH)
wl_desktop_shellpkg_LTLIBRARIES = src/modules/wl_desktop_shell/module.la
src_modules_wl_desktop_shell_module_la_DEPENDENCIES = $(MDEPENDENCIES)
src_modules_wl_desktop_shell_module_la_CPPFLAGS = $(MOD_CPPFLAGS) @WL_DESKTOP_SHELL_CFLAGS@ @WAYLAND_CFLAGS@
src_modules_wl_desktop_shell_module_la_CPPFLAGS = $(MOD_CPPFLAGS) @WL_DESKTOP_SHELL_CFLAGS@ @WAYLAND_CFLAGS@ -DNEED_WL
src_modules_wl_desktop_shell_module_la_LIBADD = $(LIBS) @WL_DESKTOP_SHELL_LIBS@ @WAYLAND_LIBS@
src_modules_wl_desktop_shell_module_la_LDFLAGS = $(MOD_LDFLAGS)

@ -5,7 +5,7 @@ wl_fbpkgdir = $(MDIR)/wl_fb/$(MODULE_ARCH)
wl_fbpkg_LTLIBRARIES = src/modules/wl_fb/module.la
src_modules_wl_fb_module_la_DEPENDENCIES = $(MDEPENDENCIES)
src_modules_wl_fb_module_la_CPPFLAGS = $(MOD_CPPFLAGS) @WL_FB_CFLAGS@ @WAYLAND_CFLAGS@ -DNEED_X=1
src_modules_wl_fb_module_la_CPPFLAGS = $(MOD_CPPFLAGS) @WL_FB_CFLAGS@ @WAYLAND_CFLAGS@
src_modules_wl_fb_module_la_LIBADD = $(LIBS) @WL_FB_LIBS@ @WAYLAND_LIBS@
src_modules_wl_fb_module_la_LDFLAGS = $(MOD_LDFLAGS)
src_modules_wl_fb_module_la_SOURCES = src/modules/wl_fb/e_mod_main.c

@ -1,3 +1,4 @@
#define E_COMP_X
#include "e.h"
#include "e_mod_main.h"
#define HISTORY_MAX 8

@ -1,3 +1,5 @@
#define E_COMP_X
#include "e_mod_main.h"
static Eina_Bool _cb_event_add(void *data __UNUSED__, int type __UNUSED__, void *event);
@ -178,10 +180,12 @@ _cb_hook_layout(E_Comp *comp)
{
if (e_client_util_ignored_get(ec)) continue;
if (ec->focused) have_focused = EINA_TRUE;
#ifndef HAVE_WAYLAND_ONLY
if ((ec->focused) &&
(ec->vkbd.state > ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF))
want_kbd = EINA_TRUE;
if (ec->vkbd.vkbd) kbd = ec;
#endif
}
if ((have_focused) && (kbd_override)) want_kbd = EINA_TRUE;

@ -1,10 +1,9 @@
#define E_COMP_WL
#include "e.h"
#include "e_comp_wl.h"
#include "e_desktop_shell_protocol.h"
#define XDG_SERVER_VERSION 3
/* FIXME: Popup Windows !! */
static void
_e_shell_surface_parent_set(E_Client *ec, struct wl_resource *parent_resource)
{
@ -94,16 +93,16 @@ _e_shell_surface_cb_destroy(struct wl_resource *resource)
{
if (e_object_is_del(E_OBJECT(ec))) return;
if (ec->wl_comp_data)
if (ec->comp_data)
{
if (ec->wl_comp_data->mapped)
if (ec->comp_data->mapped)
{
if ((ec->wl_comp_data->shell.surface) &&
(ec->wl_comp_data->shell.unmap))
ec->wl_comp_data->shell.unmap(ec->wl_comp_data->shell.surface);
if ((ec->comp_data->shell.surface) &&
(ec->comp_data->shell.unmap))
ec->comp_data->shell.unmap(ec->comp_data->shell.surface);
}
ec->wl_comp_data->shell.surface = NULL;
ec->comp_data->shell.surface = NULL;
}
}
}
@ -122,7 +121,7 @@ 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_Client *ec;
E_Comp_Wl_Data *cdata;
E_Comp_Data *cdata;
E_Binding_Event_Mouse_Button ev;
/* get the client for this resource */
@ -173,7 +172,7 @@ 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_Client *ec;
E_Comp_Wl_Data *cdata;
E_Comp_Data *cdata;
E_Binding_Event_Mouse_Button ev;
/* get the client for this resource */
@ -254,7 +253,7 @@ _e_shell_surface_cb_toplevel_set(struct wl_client *client EINA_UNUSED, struct wl
ec->border.changed = ec->changes.border = !ec->borderless;
ec->changes.icon = !!ec->icccm.class;
ec->netwm.type = E_WINDOW_TYPE_NORMAL;
ec->wl_comp_data->set_win_type = EINA_TRUE;
ec->comp_data->set_win_type = EINA_TRUE;
if ((!ec->lock_user_maximize) && (ec->maximized))
e_client_unmaximize(ec, E_MAXIMIZE_BOTH);
if ((!ec->lock_user_fullscreen) && (ec->fullscreen))
@ -339,10 +338,10 @@ _e_shell_surface_cb_popup_set(struct wl_client *client EINA_UNUSED, struct wl_re
return;
}
if (ec->wl_comp_data)
if (ec->comp_data)
{
ec->wl_comp_data->popup.x = x;
ec->wl_comp_data->popup.y = y;
ec->comp_data->popup.x = x;
ec->comp_data->popup.y = y;
}
ec->argb = EINA_TRUE;
@ -352,7 +351,7 @@ _e_shell_surface_cb_popup_set(struct wl_client *client EINA_UNUSED, struct wl_re
ec->border.changed = ec->changes.border = !ec->borderless;
ec->changes.icon = !!ec->icccm.class;
ec->netwm.type = E_WINDOW_TYPE_POPUP_MENU;
ec->wl_comp_data->set_win_type = EINA_TRUE;
ec->comp_data->set_win_type = EINA_TRUE;
ec->layer = E_LAYER_CLIENT_POPUP;
/* set this client as a transient for parent */
@ -475,8 +474,8 @@ _e_shell_surface_configure(struct wl_resource *resource, Evas_Coord x, Evas_Coor
(ec->netwm.type == E_WINDOW_TYPE_POPUP_MENU) ||
(ec->netwm.type == E_WINDOW_TYPE_DROPDOWN_MENU))
{
x = ec->parent->client.x + ec->wl_comp_data->popup.x;
y = ec->parent->client.y + ec->wl_comp_data->popup.y;
x = ec->parent->client.x + ec->comp_data->popup.x;
y = ec->parent->client.y + ec->comp_data->popup.y;
}
}
@ -518,7 +517,7 @@ _e_shell_surface_ping(struct wl_resource *resource)
}
serial = wl_display_next_serial(ec->comp->wl_comp_data->wl.disp);
wl_shell_surface_send_ping(ec->wl_comp_data->shell.surface, serial);
wl_shell_surface_send_ping(ec->comp_data->shell.surface, serial);
}
static void
@ -536,12 +535,12 @@ _e_shell_surface_map(struct wl_resource *resource)
}
/* map this surface if needed */
if ((!ec->wl_comp_data->mapped) && (e_pixmap_usable_get(ec->pixmap)))
if ((!ec->comp_data->mapped) && (e_pixmap_usable_get(ec->pixmap)))
{
ec->visible = EINA_TRUE;
evas_object_show(ec->frame);
evas_object_geometry_set(ec->frame, ec->x, ec->y, ec->w, ec->h);
ec->wl_comp_data->mapped = EINA_TRUE;
ec->comp_data->mapped = EINA_TRUE;
}
}
@ -559,11 +558,11 @@ _e_shell_surface_unmap(struct wl_resource *resource)
return;
}
if (ec->wl_comp_data->mapped)
if (ec->comp_data->mapped)
{
ec->visible = EINA_FALSE;
evas_object_hide(ec->frame);
ec->wl_comp_data->mapped = EINA_FALSE;
ec->comp_data->mapped = EINA_FALSE;
}
}
@ -572,7 +571,7 @@ _e_shell_cb_shell_surface_get(struct wl_client *client, struct wl_resource *reso
{
E_Pixmap *ep;
E_Client *ec;
E_Comp_Wl_Client_Data *cdata;
E_Comp_Client_Data *cdata;
DBG("WL_SHELL: Surface Get %d", wl_resource_get_id(surface_resource));
@ -607,7 +606,7 @@ _e_shell_cb_shell_surface_get(struct wl_client *client, struct wl_resource *reso
}
/* get the client data */
if (!(cdata = ec->wl_comp_data))
if (!(cdata = ec->comp_data))
{
wl_resource_post_error(surface_resource,
WL_DISPLAY_ERROR_INVALID_OBJECT,
@ -655,8 +654,8 @@ _e_xdg_shell_surface_cb_destroy(struct wl_client *client EINA_UNUSED, struct wl_
{
/* eina_stringshare_del(ec->icccm.title); */
/* eina_stringshare_del(ec->icccm.class); */
wl_resource_destroy(ec->wl_comp_data->shell.surface);
ec->wl_comp_data->shell.surface = NULL;
wl_resource_destroy(ec->comp_data->shell.surface);
ec->comp_data->shell.surface = NULL;
}
}
@ -692,7 +691,7 @@ _e_xdg_shell_surface_cb_transient_for_set(struct wl_client *client EINA_UNUSED,
ec->icccm.transient_for = pwin;
ec->netwm.type = E_WINDOW_TYPE_DIALOG;
ec->wl_comp_data->set_win_type = EINA_TRUE;
ec->comp_data->set_win_type = EINA_TRUE;
/* set this client as a transient for parent */
_e_shell_surface_parent_set(ec, parent_resource);
@ -717,18 +716,18 @@ _e_xdg_shell_surface_cb_margin_set(struct wl_client *client EINA_UNUSED, struct
/* return; */
/* } */
/* if (!ec->wl_comp_data) return; */
/* if (eina_rectangle_is_empty(ec->wl_comp_data->opaque)) return; */
/* if (!ec->comp_data) return; */
/* if (eina_rectangle_is_empty(ec->comp_data->opaque)) return; */
/* diff = (ec->wl_comp_data->opaque->x - l); */
/* diff = (ec->comp_data->opaque->x - l); */
/* ec->wl_comp_data->opaque->x = l; */
/* ec->wl_comp_data->opaque->y = t; */
/* ec->comp_data->opaque->x = l; */
/* ec->comp_data->opaque->y = t; */
/* ec->wl_comp_data->opaque->w = ec->wl_comp_data->opaque->w + (diff * 2); */
/* ec->wl_comp_data->opaque->h = ec->wl_comp_data->opaque->h + (diff * 2); */
/* ec->comp_data->opaque->w = ec->comp_data->opaque->w + (diff * 2); */
/* ec->comp_data->opaque->h = ec->comp_data->opaque->h + (diff * 2); */
/* EINA_RECTANGLE_SET(ec->wl_comp_data->opaque, */
/* EINA_RECTANGLE_SET(ec->comp_data->opaque, */
/* l, t, pw, ph); */
}
@ -781,7 +780,7 @@ 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_Client *ec;
E_Comp_Wl_Data *cdata;
E_Comp_Data *cdata;
E_Binding_Event_Mouse_Button ev;
/* get the client for this resource */
@ -832,7 +831,7 @@ 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_Client *ec;
E_Comp_Wl_Data *cdata;
E_Comp_Data *cdata;
E_Binding_Event_Mouse_Button ev;
/* DBG("XDG_SHELL: Surface Resize"); */
@ -939,7 +938,7 @@ _e_xdg_shell_surface_cb_state_change_request(struct wl_client *client EINA_UNUSE
return;
}
xdg_surface_send_state_change(ec->wl_comp_data->shell.surface,
xdg_surface_send_state_change(ec->comp_data->shell.surface,
state, value, serial);
}
@ -982,7 +981,7 @@ _e_xdg_shell_surface_cb_state_change_acknowledge(struct wl_client *client EINA_U
return;
}
xdg_surface_send_configure(ec->wl_comp_data->shell.surface,
xdg_surface_send_configure(ec->comp_data->shell.surface,
ec->client.w, ec->client.h);
}
@ -1049,8 +1048,8 @@ _e_xdg_shell_surface_configure(struct wl_resource *resource, Evas_Coord x, Evas_
(ec->netwm.type == E_WINDOW_TYPE_POPUP_MENU) ||
(ec->netwm.type == E_WINDOW_TYPE_DROPDOWN_MENU))
{
x = ec->parent->client.x + ec->wl_comp_data->popup.x;
y = ec->parent->client.y + ec->wl_comp_data->popup.y;
x = ec->parent->client.x + ec->comp_data->popup.x;
y = ec->parent->client.y + ec->comp_data->popup.y;
}
}
@ -1112,7 +1111,7 @@ _e_xdg_shell_surface_activate(struct wl_resource *resource)
}
if (ec->netwm.type != E_WINDOW_TYPE_POPUP_MENU)
xdg_surface_send_activated(ec->wl_comp_data->shell.surface);
xdg_surface_send_activated(ec->comp_data->shell.surface);
}
static void
@ -1131,7 +1130,7 @@ _e_xdg_shell_surface_deactivate(struct wl_resource *resource)
/* DBG("\tSend XDG Deactivate"); */
if (ec->netwm.type != E_WINDOW_TYPE_POPUP_MENU)
xdg_surface_send_deactivated(ec->wl_comp_data->shell.surface);
xdg_surface_send_deactivated(ec->comp_data->shell.surface);
}
static void
@ -1150,13 +1149,13 @@ _e_xdg_shell_surface_map(struct wl_resource *resource)
return;
}
if ((!ec->wl_comp_data->mapped) && (e_pixmap_usable_get(ec->pixmap)))
if ((!ec->comp_data->mapped) && (e_pixmap_usable_get(ec->pixmap)))
{
/* map this surface if needed */
ec->visible = EINA_TRUE;
evas_object_show(ec->frame);
evas_object_geometry_set(ec->frame, ec->x, ec->y, ec->w, ec->h);
ec->wl_comp_data->mapped = EINA_TRUE;
ec->comp_data->mapped = EINA_TRUE;
/* FIXME: sometimes popup surfaces Do Not raise above their
* respective parents... */
@ -1181,11 +1180,11 @@ _e_xdg_shell_surface_unmap(struct wl_resource *resource)
return;
}
if (ec->wl_comp_data->mapped)
if (ec->comp_data->mapped)
{
ec->visible = EINA_FALSE;
evas_object_hide(ec->frame);
ec->wl_comp_data->mapped = EINA_FALSE;
ec->comp_data->mapped = EINA_FALSE;
}
}
@ -1194,7 +1193,7 @@ _e_xdg_shell_cb_surface_get(struct wl_client *client, struct wl_resource *resour
{
E_Pixmap *ep;
E_Client *ec;
E_Comp_Wl_Client_Data *cdata;
E_Comp_Client_Data *cdata;
DBG("XDG_SHELL: Surface Get %d", wl_resource_get_id(surface_resource));
@ -1230,7 +1229,7 @@ _e_xdg_shell_cb_surface_get(struct wl_client *client, struct wl_resource *resour
}
/* get the client data */
if (!(cdata = ec->wl_comp_data))
if (!(cdata = ec->comp_data))
{
wl_resource_post_error(surface_resource,
WL_DISPLAY_ERROR_INVALID_OBJECT,
@ -1277,7 +1276,7 @@ _e_xdg_shell_cb_surface_get(struct wl_client *client, struct wl_resource *resour
ec->border.changed = ec->changes.border = !ec->borderless;
ec->changes.icon = !!ec->icccm.class;
ec->netwm.type = E_WINDOW_TYPE_NORMAL;
ec->wl_comp_data->set_win_type = EINA_TRUE;
ec->comp_data->set_win_type = EINA_TRUE;
EC_CHANGED(ec);
}
@ -1289,13 +1288,13 @@ _e_xdg_shell_popup_cb_destroy(struct wl_client *client EINA_UNUSED, struct wl_re
/* DBG("XDG_SHELL: Popup Destroy"); */
if ((ec = wl_resource_get_user_data(resource)))
{
if (ec->wl_comp_data)
if (ec->comp_data)
{
if (ec->wl_comp_data->mapped)
if (ec->comp_data->mapped)
{
if ((ec->wl_comp_data->shell.surface) &&
(ec->wl_comp_data->shell.unmap))
ec->wl_comp_data->shell.unmap(ec->wl_comp_data->shell.surface);
if ((ec->comp_data->shell.surface) &&
(ec->comp_data->shell.unmap))
ec->comp_data->shell.unmap(ec->comp_data->shell.surface);
}
if (ec->parent)
@ -1304,8 +1303,8 @@ _e_xdg_shell_popup_cb_destroy(struct wl_client *client EINA_UNUSED, struct wl_re
eina_list_remove(ec->parent->transients, ec);
}
wl_resource_destroy(ec->wl_comp_data->shell.surface);
ec->wl_comp_data->shell.surface = NULL;
wl_resource_destroy(ec->comp_data->shell.surface);
ec->comp_data->shell.surface = NULL;
}
}
}
@ -1320,7 +1319,7 @@ _e_xdg_shell_cb_popup_get(struct wl_client *client, struct wl_resource *resource
{
E_Pixmap *ep;
E_Client *ec;
E_Comp_Wl_Client_Data *cdata;
E_Comp_Client_Data *cdata;
/* DBG("XDG_SHELL: Popup Get"); */
/* DBG("\tSurface: %d", wl_resource_get_id(surface_resource)); */
@ -1358,7 +1357,7 @@ _e_xdg_shell_cb_popup_get(struct wl_client *client, struct wl_resource *resource
}
/* get the client data */
if (!(cdata = ec->wl_comp_data))
if (!(cdata = ec->comp_data))
{
wl_resource_post_error(surface_resource,
WL_DISPLAY_ERROR_INVALID_OBJECT,
@ -1406,7 +1405,7 @@ _e_xdg_shell_cb_popup_get(struct wl_client *client, struct wl_resource *resource
ec->border.changed = ec->changes.border = !ec->borderless;
ec->changes.icon = !!ec->icccm.class;
ec->netwm.type = E_WINDOW_TYPE_POPUP_MENU;
ec->wl_comp_data->set_win_type = EINA_TRUE;
ec->comp_data->set_win_type = EINA_TRUE;
ec->layer = E_LAYER_CLIENT_POPUP;
/* set this client as a transient for parent */
@ -1441,7 +1440,7 @@ static const struct xdg_shell_interface _e_xdg_shell_interface =
static void
_e_xdg_shell_cb_unbind(struct wl_resource *resource)
{
E_Comp_Wl_Data *cdata;
E_Comp_Data *cdata;
if (!(cdata = wl_resource_get_user_data(resource))) return;
@ -1451,7 +1450,7 @@ _e_xdg_shell_cb_unbind(struct wl_resource *resource)
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_Wl_Data *cdata;
E_Comp_Data *cdata;
struct wl_resource *res;
if (!(res = target)) return 0;
@ -1482,7 +1481,7 @@ _e_xdg_shell_cb_dispatch(const void *implementation EINA_UNUSED, void *target, u