Ecore_X(cb): Make sure screensaver extension is available before
authordevilhorns <devilhorns@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 20 Sep 2011 07:11:36 +0000 (07:11 +0000)
committerdevilhorns <devilhorns@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 20 Sep 2011 07:11:36 +0000 (07:11 +0000)
trying to call functions involving it.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@63488 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/ecore_x/xcb/ecore_xcb_screensaver.c

index 7d0007b..ea491fd 100644 (file)
@@ -68,6 +68,8 @@ ecore_x_screensaver_idle_time_get(void)
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
+   if (!_screensaver_avail) return 0;
+
 #ifdef ECORE_XCB_SCREENSAVER
    root = ((xcb_screen_t *)_ecore_xcb_screen)->root;
    cookie = xcb_screensaver_query_info_unchecked(_ecore_xcb_conn, root);
@@ -85,6 +87,8 @@ ecore_x_screensaver_set(int timeout, int interval, int prefer_blanking, int allo
 {
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
+   if (!_screensaver_avail) return;
+
 #ifdef ECORE_XCB_SCREENSAVER
    xcb_set_screen_saver(_ecore_xcb_conn, 
                         timeout, interval, prefer_blanking, allow_exposures);
@@ -103,6 +107,8 @@ ecore_x_screensaver_timeout_set(int timeout)
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
+   if (!_screensaver_avail) return;
+
 #ifdef ECORE_XCB_SCREENSAVER
    cookie = xcb_get_screen_saver_unchecked(_ecore_xcb_conn);
    reply = xcb_get_screen_saver_reply(_ecore_xcb_conn, cookie, NULL);
@@ -126,6 +132,8 @@ ecore_x_screensaver_timeout_get(void)
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
+   if (!_screensaver_avail) return 0;
+
 #ifdef ECORE_XCB_SCREENSAVER
    cookie = xcb_get_screen_saver_unchecked(_ecore_xcb_conn);
    reply = xcb_get_screen_saver_reply(_ecore_xcb_conn, cookie, NULL);
@@ -149,6 +157,8 @@ ecore_x_screensaver_blank_set(int blank)
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
+   if (!_screensaver_avail) return;
+
 #ifdef ECORE_XCB_SCREENSAVER
    cookie = xcb_get_screen_saver_unchecked(_ecore_xcb_conn);
    reply = xcb_get_screen_saver_reply(_ecore_xcb_conn, cookie, NULL);
@@ -172,6 +182,8 @@ ecore_x_screensaver_blank_get(void)
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
+   if (!_screensaver_avail) return 0;
+
 #ifdef ECORE_XCB_SCREENSAVER
    cookie = xcb_get_screen_saver_unchecked(_ecore_xcb_conn);
    reply = xcb_get_screen_saver_reply(_ecore_xcb_conn, cookie, NULL);
@@ -195,6 +207,8 @@ ecore_x_screensaver_expose_set(int expose)
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
+   if (!_screensaver_avail) return;
+
 #ifdef ECORE_XCB_SCREENSAVER
    cookie = xcb_get_screen_saver_unchecked(_ecore_xcb_conn);
    reply = xcb_get_screen_saver_reply(_ecore_xcb_conn, cookie, NULL);
@@ -218,6 +232,8 @@ ecore_x_screensaver_expose_get(void)
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
+   if (!_screensaver_avail) return 0;
+
 #ifdef ECORE_XCB_SCREENSAVER
    cookie = xcb_get_screen_saver_unchecked(_ecore_xcb_conn);
    reply = xcb_get_screen_saver_reply(_ecore_xcb_conn, cookie, NULL);
@@ -241,6 +257,8 @@ ecore_x_screensaver_interval_set(int interval)
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
+   if (!_screensaver_avail) return;
+
 #ifdef ECORE_XCB_SCREENSAVER
    cookie = xcb_get_screen_saver_unchecked(_ecore_xcb_conn);
    reply = xcb_get_screen_saver_reply(_ecore_xcb_conn, cookie, NULL);
@@ -264,6 +282,8 @@ ecore_x_screensaver_interval_get(void)
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
+   if (!_screensaver_avail) return 0;
+
 #ifdef ECORE_XCB_SCREENSAVER
    cookie = xcb_get_screen_saver_unchecked(_ecore_xcb_conn);
    reply = xcb_get_screen_saver_reply(_ecore_xcb_conn, cookie, NULL);
@@ -284,6 +304,8 @@ ecore_x_screensaver_event_listen_set(Eina_Bool on)
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
+   if (!_screensaver_avail) return;
+
 #ifdef ECORE_XCB_SCREENSAVER
    root = ((xcb_screen_t *)_ecore_xcb_screen)->root;
    if (on)