raster pushed a commit to branch master.

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

commit 412095fe67635afd4389039b3a2eac7cfac3031e
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Mon Jul 7 23:35:06 2014 +0900

    have e disable screensaver on resume to force screen on
    
    this fixes T1384
---
 src/bin/e_screensaver.c | 25 +++++++++++++++++++++++++
 src/bin/e_screensaver.h |  3 +++
 src/bin/e_sys.c         |  1 +
 3 files changed, 29 insertions(+)

diff --git a/src/bin/e_screensaver.c b/src/bin/e_screensaver.c
index a969267..6a69ac1 100644
--- a/src/bin/e_screensaver.c
+++ b/src/bin/e_screensaver.c
@@ -436,3 +436,28 @@ e_screensaver_on_get(void)
 {
    return _e_screensaver_on;
 }
+
+EAPI void
+e_screensaver_activate(void)
+{
+#ifndef HAVE_WAYLAND_ONLY
+   if (e_comp_get(NULL)->comp_type == E_PIXMAP_TYPE_X)
+     {
+        ecore_x_screensaver_activate();
+     }
+#else
+#endif
+}
+
+EAPI void
+e_screensaver_deactivate(void)
+{
+#ifndef HAVE_WAYLAND_ONLY
+   if (e_comp_get(NULL)->comp_type == E_PIXMAP_TYPE_X)
+     {
+        ecore_x_screensaver_reset();
+     }
+#else
+#endif
+}
+
diff --git a/src/bin/e_screensaver.h b/src/bin/e_screensaver.h
index 684985d..511610e 100644
--- a/src/bin/e_screensaver.h
+++ b/src/bin/e_screensaver.h
@@ -13,6 +13,9 @@ EAPI void e_screensaver_force_update(void);
 EAPI int e_screensaver_timeout_get(Eina_Bool use_idle);
 EAPI void e_screensaver_attrs_set(int timeout, int blanking, int expose);
 EAPI Eina_Bool e_screensaver_on_get(void);
+EAPI void e_screensaver_activate(void);
+EAPI void e_screensaver_deactivate(void);
+
 EAPI extern int E_EVENT_SCREENSAVER_ON;
 EAPI extern int E_EVENT_SCREENSAVER_OFF;
 
diff --git a/src/bin/e_sys.c b/src/bin/e_sys.c
index 1d06cb4..0700569 100644
--- a/src/bin/e_sys.c
+++ b/src/bin/e_sys.c
@@ -175,6 +175,7 @@ _e_sys_comp_resume(void)
    EINA_LIST_FOREACH(e_comp_list(), l, c)
      evas_damage_rectangle_add(c->evas, 0, 0, c->man->w, c->man->h);
    _e_sys_comp_emit_cb_wait(E_SYS_SUSPEND, "e,state,sys,resume", NULL, 
EINA_FALSE);
+   e_screensaver_deactivate();
 }
 
 /* externally accessible functions */

-- 


Reply via email to