discomfitor pushed a commit to branch master.

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

commit c04d754ac558778f207c3683401fc20f968b7ce8
Author: Mike Blumenkrantz <zm...@samsung.com>
Date:   Tue Mar 18 16:14:04 2014 -0400

    enabling drm output module should NOT require X-less build.
    
    these defines all need to be changed from HAVE_WAYLAND_ONLY to something 
like WITH_X or we're going to have lots of problems with xwayland later on
---
 configure.ac                                 |  2 +-
 src/bin/e_backlight.c                        |  2 +-
 src/bin/e_comp.c                             | 11 +++----
 src/bin/e_comp_x.c                           |  3 +-
 src/bin/e_dnd.c                              |  9 ++++--
 src/bin/e_dpms.c                             | 21 ++++++++----
 src/bin/e_main.c                             |  4 ++-
 src/bin/e_module.c                           | 21 ++++++------
 src/bin/e_mouse.c                            | 16 ++++++----
 src/bin/e_scale.c                            |  7 ++--
 src/bin/e_screensaver.c                      | 37 +++++++++++----------
 src/bin/e_xkb.c                              |  1 +
 src/modules/Makefile_everything.mk           |  5 ++-
 src/modules/everything/evry.c                | 48 +++++++++++++++++-----------
 src/modules/everything/evry_plug_clipboard.c |  9 +++++-
 15 files changed, 122 insertions(+), 74 deletions(-)

diff --git a/configure.ac b/configure.ac
index 6c27aa9..d15db8e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -865,7 +865,7 @@ AM_CONDITIONAL([HAVE_WL_FB], [test "x${WL_FB}" = "xtrue"])
 
 define([CHECK_MODULE_WL_DRM],
 [
-  if test "x${have_wayland}" = "xyes" && test "x${e_cv_want_wayland_only}" = 
"xyes"; then
+  if test "x${have_wayland}" = "xyes" ; then
     AC_E_CHECK_PKG(WL_DRM, [ ecore-drm >= $efl_version ecore >= $efl_version 
eina >= $efl_version ], [WL_DRM=true], [WL_DRM=false])
   else
     WL_DRM=false
diff --git a/src/bin/e_backlight.c b/src/bin/e_backlight.c
index cdf2521..d57d0a1 100644
--- a/src/bin/e_backlight.c
+++ b/src/bin/e_backlight.c
@@ -48,7 +48,7 @@ e_backlight_init(void)
 #endif
 
 #ifndef HAVE_WAYLAND_ONLY
-   if (e_comp_get(NULL)->man->root)
+   if (e_comp_get(NULL)->comp_type == E_PIXMAP_TYPE_X)
      xbl_avail = ecore_x_randr_output_backlight_available();
 #endif
    e_backlight_update();
diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 0667e4f..1607725 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -1115,7 +1115,6 @@ e_comp_init(void)
       actions = eina_list_append(actions, act);
    }
 
-#ifdef HAVE_WAYLAND_ONLY
    {
       const char *eng;
       
@@ -1126,18 +1125,18 @@ e_comp_init(void)
 
            snprintf(buf, sizeof(buf), "wl_%s", eng);
            if (e_module_enable(e_module_new(buf)))
-             return EINA_TRUE;
+             goto out;
         }
    }
-#endif
 
 #ifndef HAVE_WAYLAND_ONLY
-   if (!e_comp_x_init()) return EINA_FALSE;
+   e_comp_x_init();
 #endif
 #if defined(HAVE_WAYLAND_CLIENTS) || defined(HAVE_WAYLAND_ONLY)
-   if (!e_comp_wl_init()) return EINA_FALSE;
+   e_comp_wl_init();
 #endif
-
+   if (!compositors) return EINA_FALSE;
+out:
    E_LIST_HANDLER_APPEND(handlers, E_EVENT_SCREENSAVER_ON, 
_e_comp_screensaver_on, NULL);
    E_LIST_HANDLER_APPEND(handlers, E_EVENT_SCREENSAVER_OFF, 
_e_comp_screensaver_off, NULL);
 
diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index 3da060e..f6bc710 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -5060,7 +5060,6 @@ e_comp_x_init(void)
 
    if (!ecore_x_init(NULL))
      {
-        _e_comp_x_print_win(0);
         e_error_message_show(_("Enlightenment cannot initialize Ecore_X!\n"));
         return EINA_FALSE;
      }
@@ -5069,6 +5068,8 @@ e_comp_x_init(void)
 
    if (!ecore_x_composite_query())
      {
+        _e_comp_x_print_win(0);
+        ecore_x_shutdown();
         e_error_message_show
           (_("Your display server does not support XComposite, "
              "or Ecore-X was built without XComposite support. "
diff --git a/src/bin/e_dnd.c b/src/bin/e_dnd.c
index 6c42ec3..db3175c 100644
--- a/src/bin/e_dnd.c
+++ b/src/bin/e_dnd.c
@@ -111,7 +111,8 @@ e_dnd_init(void)
    _type_text_x_moz_url = eina_stringshare_add("text/x-moz-url");
    _type_enlightenment_x_file = eina_stringshare_add("enlightenment/x-file");
 #ifndef HAVE_WAYLAND_ONLY
-   _text_atom = ecore_x_atom_get("text/plain");
+   if (e_comp_get(NULL)->comp_type == E_PIXMAP_TYPE_X)
+     _text_atom = ecore_x_atom_get("text/plain");
 #endif
 
    _drop_win_hash = eina_hash_int32_new(NULL);
@@ -121,6 +122,7 @@ e_dnd_init(void)
    E_LIST_HANDLER_APPEND(_event_handlers, ECORE_EVENT_MOUSE_MOVE, 
_e_dnd_cb_mouse_move, NULL);
    E_LIST_HANDLER_APPEND(_event_handlers, ECORE_EVENT_KEY_DOWN, 
_e_dnd_cb_key_down, NULL);
    E_LIST_HANDLER_APPEND(_event_handlers, ECORE_EVENT_KEY_UP, 
_e_dnd_cb_key_up, NULL);
+   if (e_comp_get(NULL)->comp_type != E_PIXMAP_TYPE_X) return 1;
 #ifndef HAVE_WAYLAND_ONLY
    E_LIST_HANDLER_APPEND(_event_handlers, ECORE_X_EVENT_XDND_ENTER, 
_e_dnd_cb_event_dnd_enter, NULL);
    E_LIST_HANDLER_APPEND(_event_handlers, ECORE_X_EVENT_XDND_LEAVE, 
_e_dnd_cb_event_dnd_leave, NULL);
@@ -130,12 +132,10 @@ e_dnd_init(void)
    E_LIST_HANDLER_APPEND(_event_handlers, ECORE_X_EVENT_XDND_DROP, 
_e_dnd_cb_event_dnd_drop, NULL);
    E_LIST_HANDLER_APPEND(_event_handlers, ECORE_X_EVENT_SELECTION_NOTIFY, 
_e_dnd_cb_event_dnd_selection, NULL);
    E_LIST_HANDLER_APPEND(_event_handlers, ECORE_X_EVENT_WINDOW_HIDE, 
_e_dnd_cb_event_hide, NULL);
-#endif
 
    EINA_LIST_FOREACH(e_comp_list(), l, c)
      e_drop_xdnd_register_set(c->ee_win, 1);
 
-#ifndef HAVE_WAYLAND_ONLY
    _action = ECORE_X_ATOM_XDND_ACTION_PRIVATE;
 #endif
    return 1;
@@ -343,6 +343,7 @@ e_drag_xdnd_start(E_Drag *drag, int x, int y)
 
    if (_drag_win) return 0;
 #ifndef HAVE_WAYLAND_ONLY
+   if (e_comp_get(drag)->comp_type != E_PIXMAP_TYPE_X) return 0;
    _drag_win = ecore_x_window_input_new(drag->comp->win,
                                         drag->comp->man->x, drag->comp->man->y,
                                         drag->comp->man->w, 
drag->comp->man->h);
@@ -414,6 +415,7 @@ e_drop_xds_update(Eina_Bool enable, const char *value)
    int size;
    size_t len;
 
+   if (e_comp_get(NULL)->comp_type != E_PIXMAP_TYPE_X) return;
    enable = !!enable;
 
    xwin = ecore_x_selection_owner_get(ECORE_X_ATOM_SELECTION_XDND);
@@ -522,6 +524,7 @@ e_drop_handler_del(E_Drop_Handler *handler)
 EAPI int
 e_drop_xdnd_register_set(Ecore_Window win, int reg)
 {
+   if (e_comp_get(NULL)->comp_type != E_PIXMAP_TYPE_X) return 0;
    if (reg)
      {
         if (!eina_hash_find(_drop_win_hash, &win))
diff --git a/src/bin/e_dpms.c b/src/bin/e_dpms.c
index ff61045..ec44392 100644
--- a/src/bin/e_dpms.c
+++ b/src/bin/e_dpms.c
@@ -29,7 +29,8 @@ e_dpms_update(void)
      {
         _e_dpms_enabled = enabled;
 #ifndef HAVE_WAYLAND_ONLY
-        ecore_x_dpms_enabled_set(enabled);
+        if (e_comp_get(NULL)->comp_type == E_PIXMAP_TYPE_X)
+          ecore_x_dpms_enabled_set(enabled);
 #endif
      }
    if (!enabled) return;
@@ -57,7 +58,10 @@ e_dpms_update(void)
         changed = EINA_TRUE;
      }
 #ifndef HAVE_WAYLAND_ONLY
-   if (changed) ecore_x_dpms_timeouts_set(standby, suspend, off);
+   if (e_comp_get(NULL)->comp_type == E_PIXMAP_TYPE_X)
+     {
+        if (changed) ecore_x_dpms_timeouts_set(standby, suspend, off);
+     }
 #endif
 }
 
@@ -70,7 +74,8 @@ e_dpms_force_update(void)
    enabled = ((e_config->screensaver_enable) &&
               (!e_config->mode.presentation));
 #ifndef HAVE_WAYLAND_ONLY
-   ecore_x_dpms_enabled_set(enabled);
+   if (e_comp_get(NULL)->comp_type == E_PIXMAP_TYPE_X)
+     ecore_x_dpms_enabled_set(enabled);
 #endif
    if (!enabled) return;
 
@@ -82,6 +87,7 @@ e_dpms_force_update(void)
         off += 7;
      }
 #ifndef HAVE_WAYLAND_ONLY
+   if (e_comp_get(NULL)->comp_type != E_PIXMAP_TYPE_X) return;
    ecore_x_dpms_timeouts_set(standby + 10, suspend + 10, off + 10);
    ecore_x_dpms_timeouts_set(standby, suspend, off);
 #endif
@@ -143,9 +149,12 @@ e_dpms_init(void)
        (E_EVENT_DESK_SHOW, _e_dpms_handler_desk_show_cb, NULL);
 
 #ifndef HAVE_WAYLAND_ONLY
-   _e_dpms_enabled = ecore_x_dpms_enabled_get();
-   ecore_x_dpms_timeouts_get
-     (&_e_dpms_timeout_standby, &_e_dpms_timeout_suspend, 
&_e_dpms_timeout_off);
+   if (e_comp_get(NULL)->comp_type == E_PIXMAP_TYPE_X)
+     {
+        _e_dpms_enabled = ecore_x_dpms_enabled_get();
+        ecore_x_dpms_timeouts_get
+          (&_e_dpms_timeout_standby, &_e_dpms_timeout_suspend, 
&_e_dpms_timeout_off);
+     }
 #endif
 
    e_dpms_force_update();
diff --git a/src/bin/e_main.c b/src/bin/e_main.c
index 336acda..22023cf 100644
--- a/src/bin/e_main.c
+++ b/src/bin/e_main.c
@@ -611,6 +611,7 @@ main(int argc, char **argv)
      }
    TS("Screens Init Done");
    _e_main_shutdown_push(_e_main_screens_shutdown);
+   e_screensaver_force_update();
 
    TS("E_Pointer Init");
    if (!e_pointer_init())
@@ -1708,7 +1709,8 @@ _e_main_cb_x_flusher(void *data __UNUSED__)
 {
    eet_clearcache();
 #ifndef HAVE_WAYLAND_ONLY
-   ecore_x_flush();
+   if (e_comp_get(NULL)->comp_type == E_PIXMAP_TYPE_X)
+     ecore_x_flush();
 #endif
    return ECORE_CALLBACK_RENEW;
 }
diff --git a/src/bin/e_module.c b/src/bin/e_module.c
index 3306509..56a49d3 100644
--- a/src/bin/e_module.c
+++ b/src/bin/e_module.c
@@ -495,7 +495,7 @@ e_module_enable(E_Module *m)
                   break;
                }
           }
-        if (!_e_modules_initting)
+        if (_e_modules_hash && (!_e_modules_initting))
           _e_module_whitelist_check();
         return 1;
      }
@@ -973,17 +973,20 @@ _e_module_whitelist_check(void)
      }
 
 #ifndef HAVE_WAYLAND_ONLY
-     {
-      Ecore_X_Atom _x_tainted;
-      char *state;
-      unsigned int _e_tainted;
+   {
+      const char *state;
 
       state = badl ? "YES" : "NO";
-      _e_tainted = badl ? 1 : 0;
 
-      _x_tainted = ecore_x_atom_get("_E_TAINTED");
-      ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
-                                     _x_tainted, &_e_tainted, 1);
+      if (e_comp_get(NULL)->comp_type == E_PIXMAP_TYPE_X)
+        {
+           Ecore_X_Atom _x_tainted;
+           unsigned int _e_tainted = badl ? 1 : 0;
+
+           _x_tainted = ecore_x_atom_get("_E_TAINTED");
+           ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
+                                          _x_tainted, &_e_tainted, 1);
+        }
 
       e_env_set("E19_TAINTED", state);
    }
diff --git a/src/bin/e_mouse.c b/src/bin/e_mouse.c
index 1074b77..2990c24 100644
--- a/src/bin/e_mouse.c
+++ b/src/bin/e_mouse.c
@@ -7,12 +7,15 @@ e_mouse_update(void)
    int n;
 
 #ifndef HAVE_WAYLAND_ONLY
-   if (!ecore_x_pointer_control_set(e_config->mouse_accel_numerator,
-                                    e_config->mouse_accel_denominator,
-                                    e_config->mouse_accel_threshold))
-     return 0;
+   if (e_comp_get(NULL)->comp_type == E_PIXMAP_TYPE_X)
+     {
+        if (!ecore_x_pointer_control_set(e_config->mouse_accel_numerator,
+                                         e_config->mouse_accel_denominator,
+                                         e_config->mouse_accel_threshold))
+          return 0;
 
-   if (!ecore_x_pointer_mapping_get(map, 256)) return 0;
+        if (!ecore_x_pointer_mapping_get(map, 256)) return 0;
+     }
 #endif
 
    for (n = 0; n < 256; n++)
@@ -38,7 +41,8 @@ e_mouse_update(void)
      }
 
 #ifndef HAVE_WAYLAND_ONLY
-   if (!ecore_x_pointer_mapping_set(map, n)) return 0;
+   if (e_comp_get(NULL)->comp_type == E_PIXMAP_TYPE_X)
+     if (!ecore_x_pointer_mapping_set(map, n)) return 0;
 #endif
 
    return 1;
diff --git a/src/bin/e_scale.c b/src/bin/e_scale.c
index b5d5e26..bdcc38d 100644
--- a/src/bin/e_scale.c
+++ b/src/bin/e_scale.c
@@ -24,9 +24,12 @@ e_scale_update(void)
    if (e_config->scale.use_dpi)
      {
 #ifndef HAVE_WAYLAND_ONLY
-        dpi = ecore_x_dpi_get();
+        if (e_comp_get(NULL)->comp_type == E_PIXMAP_TYPE_X)
+          {
+             dpi = ecore_x_dpi_get();
+             e_scale = (double)dpi / (double)e_config->scale.base_dpi;
+          }
 #endif
-        e_scale = (double)dpi / (double)e_config->scale.base_dpi;
         if (e_scale > e_config->scale.max) e_scale = e_config->scale.max;
         else if (e_scale < e_config->scale.min)
           e_scale = e_config->scale.min;
diff --git a/src/bin/e_screensaver.c b/src/bin/e_screensaver.c
index 8964ed7..a969267 100644
--- a/src/bin/e_screensaver.c
+++ b/src/bin/e_screensaver.c
@@ -82,10 +82,13 @@ e_screensaver_update(void)
         changed = EINA_TRUE;
      }
 
-#ifdef HAVE_WAYLAND_ONLY
+#ifndef HAVE_WAYLAND_ONLY
+   if (e_comp_get(NULL)->comp_type == E_PIXMAP_TYPE_X)
+     {
+        if (changed)
+          ecore_x_screensaver_set(timeout, interval, blanking, expose);
+     }
 #else
-   if (changed)
-     ecore_x_screensaver_set(timeout, interval, blanking, expose);
 #endif
 }
 
@@ -93,19 +96,21 @@ EAPI void
 e_screensaver_force_update(void)
 {
    int timeout = e_screensaver_timeout_get(EINA_TRUE);
-#ifdef HAVE_WAYLAND_ONLY
+#ifndef HAVE_WAYLAND_ONLY
+   if (e_comp_get(NULL)->comp_type == E_PIXMAP_TYPE_X)
+     {
+        ecore_x_screensaver_set(timeout + 10,
+                                0,
+     //                           e_config->screensaver_interval,
+                                !e_config->screensaver_blanking,
+                                !e_config->screensaver_expose);
+        ecore_x_screensaver_set(timeout,
+                                0,
+     //                           e_config->screensaver_interval,
+                                e_config->screensaver_blanking,
+                                e_config->screensaver_expose);
+     }
 #else
-   if (!getenv("DISPLAY")) return;
-   ecore_x_screensaver_set(timeout + 10,
-                           0,
-//                           e_config->screensaver_interval,
-                           !e_config->screensaver_blanking,
-                           !e_config->screensaver_expose);
-   ecore_x_screensaver_set(timeout,
-                           0,
-//                           e_config->screensaver_interval,
-                           e_config->screensaver_blanking,
-                           e_config->screensaver_expose);
 #endif
 }
 
@@ -336,8 +341,6 @@ e_screensaver_init(void)
    _e_screensaver_handler_powersave = ecore_event_handler_add
        (E_EVENT_POWERSAVE_UPDATE, _e_screensaver_handler_powersave_cb, NULL);
 
-   e_screensaver_force_update();
-
    return 1;
 }
 
diff --git a/src/bin/e_xkb.c b/src/bin/e_xkb.c
index a2bbd5a..5065fb0 100644
--- a/src/bin/e_xkb.c
+++ b/src/bin/e_xkb.c
@@ -59,6 +59,7 @@ e_xkb_update(int cur_group)
 
    if (e_config->xkb.dont_touch_my_damn_keyboard) return;
    if ((!e_config->xkb.used_layouts) && (!e_config->xkb.used_options) && 
(!e_config->xkb.default_model)) return;
+   if (!getenv("DISPLAY")) return;
    if (cur_group != -1)
      {
         _e_xkb_cur_group = cur_group;
diff --git a/src/modules/Makefile_everything.mk 
b/src/modules/Makefile_everything.mk
index 6c252e8..8143eab 100644
--- a/src/modules/Makefile_everything.mk
+++ b/src/modules/Makefile_everything.mk
@@ -30,7 +30,6 @@ src_modules_everything_module_la_SOURCES = $(EVRYHEADERS) \
                               src/modules/everything/evry_view.c \
                               src/modules/everything/evry_view_tabs.c \
                               src/modules/everything/evry_view_help.c \
-                              src/modules/everything/evry_plug_clipboard.c \
                               src/modules/everything/evry_plug_text.c \
                               src/modules/everything/evry_plug_collection.c \
                               src/modules/everything/evry_gadget.c \
@@ -42,6 +41,10 @@ src_modules_everything_module_la_SOURCES = $(EVRYHEADERS) \
                               src/modules/everything/evry_plug_settings.c \
                               src/modules/everything/evry_plug_calc.c
 
+if ! HAVE_WAYLAND_ONLY
+src_modules_everything_module_la_SOURCES += 
src/modules/everything/evry_plug_clipboard.c
+endif
+
 everything_headersdir = $(pkgincludedir)
 dist_everything_headers_DATA = $(EVRYHEADERS)
 
diff --git a/src/modules/everything/evry.c b/src/modules/everything/evry.c
index 5cf151e..27bc777 100644
--- a/src/modules/everything/evry.c
+++ b/src/modules/everything/evry.c
@@ -64,7 +64,7 @@ static void           _evry_view_hide(Evry_Window *win, 
Evry_View *v, int slide)
 static void           _evry_item_desel(Evry_State *s);
 static void           _evry_item_sel(Evry_State *s, Evry_Item *it);
 
-static Eina_Bool      _evry_cb_show(Evry_Window *win, int type __UNUSED__, 
Ecore_X_Event_Window_Show *ev);
+static void           _evry_cb_show(Evry_Window *win, Evas *e EINA_UNUSED, 
Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED);
 static Eina_Bool      _evry_cb_key_down(void *data, int type, void *event);
 static Eina_Bool      _evry_cb_selection_notify(void *data, int type, void 
*event);
 static Eina_Bool      _evry_cb_mouse(void *data, int type, void *event);
@@ -178,10 +178,11 @@ evry_show(E_Zone *zone, E_Zone_Edge edge, const char 
*params, Eina_Bool popup)
 
    if (popup)
      {
-        //e_win_layer_set(win->ewin, E_WIN_LAYER_ABOVE);
-        ecore_x_netwm_window_type_set(win->ewin->evas_win,
-                                      ECORE_X_WINDOW_TYPE_UTILITY);
-
+#ifndef HAVE_WAYLAND_ONLY
+        if (e_comp_get(win->ewin)->comp_type == E_PIXMAP_TYPE_X)
+          ecore_x_netwm_window_type_set(win->ewin->evas_win,
+                                        ECORE_X_WINDOW_TYPE_UTILITY);
+#endif
         ecore_evas_name_class_set(win->ewin->ecore_evas, "E", "everything");
 
         e_win_show(win->ewin);
@@ -204,9 +205,11 @@ evry_show(E_Zone *zone, E_Zone_Edge edge, const char 
*params, Eina_Bool popup)
    _evry_selector_new(win, EVRY_PLUGIN_OBJECT);
 
    E_LIST_HANDLER_APPEND(win->handlers, ECORE_EVENT_KEY_DOWN, 
_evry_cb_key_down, win);
-
+#ifndef HAVE_WAYLAND_ONLY
+        if (e_comp_get(win->ewin)->comp_type == E_PIXMAP_TYPE_X)
    E_LIST_HANDLER_APPEND(win->handlers, ECORE_X_EVENT_SELECTION_NOTIFY, 
_evry_cb_selection_notify, win);
-   E_LIST_HANDLER_APPEND(win->handlers, ECORE_X_EVENT_WINDOW_SHOW, 
_evry_cb_show, win);
+#endif
+   evas_object_event_callback_add(win->ewin->client->frame, 
EVAS_CALLBACK_SHOW, (Evas_Object_Event_Cb)_evry_cb_show, win);
 
    E_LIST_HANDLER_APPEND(win->handlers, EVRY_EVENT_ITEM_CHANGED, 
_evry_cb_item_changed, win);
 
@@ -860,9 +863,8 @@ _evry_window_new(E_Zone *zone, E_Zone_Edge edge)
    evas_object_resize(o, mw, mh);
    evas_object_show(o);
 
-   evas_event_feed_mouse_in(win->evas, ecore_x_current_time_get(), NULL);
-   evas_event_feed_mouse_move(win->evas, -1000000, -1000000,
-                              ecore_x_current_time_get(), NULL);
+   evas_event_feed_mouse_in(win->evas, 0, NULL);
+   evas_event_feed_mouse_move(win->evas, -1000000, -1000000, 0, NULL);
 
    e_win_delete_callback_set(win->ewin, _evry_cb_win_delete);
    e_win_resize_callback_set(win->ewin, _evry_cb_win_resize);
@@ -1921,8 +1923,11 @@ _evry_cb_key_down(void *data, int type __UNUSED__, void 
*event)
 
         e_grabinput_release(ewin->evas_win, ewin->evas_win);
         evas_object_layer_set(ewin->client->frame, E_LAYER_CLIENT_NORMAL);
-        ecore_x_netwm_window_type_set(ewin->evas_win,
-                                      ECORE_X_WINDOW_TYPE_DIALOG);
+#ifndef HAVE_WAYLAND_ONLY
+        if (e_comp_get(ewin)->comp_type == E_PIXMAP_TYPE_X)
+          ecore_x_netwm_window_type_set(ewin->evas_win,
+                                        ECORE_X_WINDOW_TYPE_DIALOG);
+#endif
         EC_CHANGED(ewin->client);
         ewin->client->netwm.fetch.type = 1;
         ewin->client->netwm.state.skip_taskbar = 0;
@@ -2109,9 +2114,14 @@ _evry_cb_key_down(void *data, int type __UNUSED__, void 
*event)
           _evry_plugin_action(sel, 0);
         else if (!strcmp(ev->key, "v"))
           {
-             win->request_selection = EINA_TRUE;
-             ecore_x_selection_primary_request
-               (win->ewin->evas_win, ECORE_X_SELECTION_TARGET_UTF8_STRING);
+#ifndef HAVE_WAYLAND_ONLY
+             if (e_comp_get(win->ewin)->comp_type == E_PIXMAP_TYPE_X)
+               {
+                  win->request_selection = EINA_TRUE;
+                  ecore_x_selection_primary_request
+                    (win->ewin->evas_win, 
ECORE_X_SELECTION_TARGET_UTF8_STRING);
+               }
+#endif
           }
         else
           {
@@ -3017,15 +3027,14 @@ _evry_plugin_list_insert(Evry_State *s, Evry_Plugin *p)
      s->cur_plugins = eina_list_append(s->cur_plugins, p);
 }
 
-static Eina_Bool
-_evry_cb_show(Evry_Window *win, int type __UNUSED__, Ecore_X_Event_Window_Show 
*ev)
+static void
+_evry_cb_show(Evry_Window *win, Evas *e EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_info EINA_UNUSED)
 {
-   if (win->ewin->evas_win != ev->event_win) return ECORE_CALLBACK_RENEW;
    if (win->grab)
      e_grabinput_get(win->ewin->evas_win, 0, win->ewin->evas_win);
-   return ECORE_CALLBACK_RENEW;
 }
 
+#ifndef HAVE_WAYLAND_ONLY
 static Eina_Bool
 _evry_cb_selection_notify(void *data, int type __UNUSED__, void *event)
 {
@@ -3055,6 +3064,7 @@ _evry_cb_selection_notify(void *data, int type 
__UNUSED__, void *event)
 
    return ECORE_CALLBACK_PASS_ON;
 }
+#endif
 
 void
 evry_item_app_free(Evry_Item_App *app)
diff --git a/src/modules/everything/evry_plug_clipboard.c 
b/src/modules/everything/evry_plug_clipboard.c
index 63d287a..0ca31e1 100644
--- a/src/modules/everything/evry_plug_clipboard.c
+++ b/src/modules/everything/evry_plug_clipboard.c
@@ -8,6 +8,8 @@ _action(Evry_Action *action)
 {
    const Evry_Item *it = action->it1.item;
 
+   if (e_comp_get(NULL)->comp_type != E_PIXMAP_TYPE_X) return 0;
+
    ecore_x_selection_primary_set(clipboard_win, it->label, strlen(it->label));
    ecore_x_selection_clipboard_set(clipboard_win, it->label, 
strlen(it->label));
 
@@ -23,10 +25,14 @@ _check_item(Evry_Action *action __UNUSED__, const Evry_Item 
*it)
 Eina_Bool
 evry_plug_clipboard_init(void)
 {
+   Ecore_X_Window win;
+
    if (!evry_api_version_check(EVRY_API_VERSION))
      return EINA_FALSE;
 
-   Ecore_X_Window win = ecore_x_window_input_new(0, 0, 0, 1, 1);
+   if (e_comp_get(NULL)->comp_type != E_PIXMAP_TYPE_X)
+     return EINA_FALSE;
+   win = ecore_x_window_input_new(0, 0, 0, 1, 1);
    if (!win) return EINA_FALSE;
    ecore_x_icccm_name_class_set(win, "evry", "clipboard");
    e_comp_ignore_win_add(E_PIXMAP_TYPE_X, win);
@@ -47,6 +53,7 @@ evry_plug_clipboard_init(void)
 void
 evry_plug_clipboard_shutdown(void)
 {
+   if (e_comp_get(NULL)->comp_type != E_PIXMAP_TYPE_X) return;
    ecore_x_window_free(clipboard_win);
    evry_action_free(act);
 }

-- 


Reply via email to