seoz pushed a commit to branch efl-1.8. http://git.enlightenment.org/core/efl.git/commit/?id=4b7d85acd64cc4be94153058a8af9a49b1fef148
commit 4b7d85acd64cc4be94153058a8af9a49b1fef148 Author: Daniel Juyung Seo <[email protected]> Date: Mon Dec 2 12:40:56 2013 +0900 ecore ecore_x_e: check 0 and -1 for ecore_x_window_prop_card32_get() return value which mean fail. - ecore_x_window_prop_card32_get() returns: -1 if the property was not successfully fetched. 0 if the property exists but has no elements. This is a backport of master branch commit e2467724da55a64138286b433db16f3b59e33175. --- ChangeLog | 8 +++++ NEWS | 1 + src/lib/ecore_x/xlib/ecore_x_e.c | 66 +++++++++++++++++++++++++--------------- 3 files changed, 51 insertions(+), 24 deletions(-) diff --git a/ChangeLog b/ChangeLog index a65d153..a772e50 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2013-12-02 Daniel Juyung Seo (SeoZ) + + * Check ecore_x_window_prop_card32_get() return value correctly in ecore_x_e. + +2013-12-01 Carsten Haitzler (The Rasterman) + + * 1.8 release + 2013-11-28 ChunEon Park (Hermet) * Evas: If the line goes to the 0, 0 then it won't be updated. Now it's diff --git a/NEWS b/NEWS index 4db7013..920311d 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,7 @@ Changes since 1.8.0: Fixes: + * Check ecore_x_window_prop_card32_get() return value correctly in ecore_x_e. ========= EFL 1.8.0 diff --git a/src/lib/ecore_x/xlib/ecore_x_e.c b/src/lib/ecore_x/xlib/ecore_x_e.c index 64c9944..be9f7f4 100644 --- a/src/lib/ecore_x/xlib/ecore_x_e.c +++ b/src/lib/ecore_x/xlib/ecore_x_e.c @@ -55,10 +55,12 @@ EAPI Eina_Bool ecore_x_e_virtual_keyboard_get(Ecore_X_Window win) { unsigned int val = 0; + int ret = 0; LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD, - &val, 1)) + ret = ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD, + &val, 1); + if ((ret == 0) || (ret == -1)) return EINA_FALSE; return val ? EINA_TRUE : EINA_FALSE; @@ -286,10 +288,12 @@ EAPI Eina_Bool ecore_x_e_illume_conformant_get(Ecore_X_Window win) { unsigned int val = 0; + int ret = 0; LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_CONFORMANT, - &val, 1)) + ret = ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_CONFORMANT, + &val, 1); + if ((ret == 0) || (ret == -1)) return EINA_FALSE; return val ? EINA_TRUE : EINA_FALSE; @@ -484,9 +488,12 @@ EAPI Eina_Bool ecore_x_e_illume_drag_get(Ecore_X_Window win) { unsigned int val = 0; + int ret = 0; LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_DRAG, &val, 1)) + ret = ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_DRAG, + &val, 1); + if ((ret == 0) || (ret == -1)) return EINA_FALSE; return val ? EINA_TRUE : EINA_FALSE; @@ -505,10 +512,12 @@ EAPI Eina_Bool ecore_x_e_illume_drag_locked_get(Ecore_X_Window win) { unsigned int val = 0; + int ret = 0; LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_DRAG_LOCKED, - &val, 1)) + ret = ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_DRAG_LOCKED, + &val, 1); + if ((ret == 0) || (ret == -1)) return EINA_FALSE; return val ? EINA_TRUE : EINA_FALSE; @@ -727,10 +736,12 @@ EAPI Eina_Bool ecore_x_e_illume_quickpanel_get(Ecore_X_Window win) { unsigned int val = 0; + int ret = 0; LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL, - &val, 1)) + ret = ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL, + &val, 1); + if ((ret == 0) || (ret == -1)) return EINA_FALSE; return val ? EINA_TRUE : EINA_FALSE; @@ -797,12 +808,13 @@ EAPI int ecore_x_e_illume_quickpanel_priority_major_get(Ecore_X_Window win) { unsigned int val = 0; + int ret = 0; LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (!ecore_x_window_prop_card32_get(win, - ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR, - &val, 1)) - return 0; + ret = ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR, + &val, 1); + if ((ret == 0) || (ret == -1)) + return EINA_FALSE; return val; } @@ -821,11 +833,13 @@ EAPI int ecore_x_e_illume_quickpanel_priority_minor_get(Ecore_X_Window win) { unsigned int val = 0; + int ret = 0; LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (!ecore_x_window_prop_card32_get(win, - ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR, - &val, 1)) + ret = ecore_x_window_prop_card32_get(win, + ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR, + &val, 1); + if ((ret == 0) || (ret == -1)) return 0; return val; @@ -845,11 +859,13 @@ EAPI int ecore_x_e_illume_quickpanel_zone_get(Ecore_X_Window win) { unsigned int val = 0; + int ret = 0; LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (!ecore_x_window_prop_card32_get(win, - ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE, - &val, 1)) + ret = ecore_x_window_prop_card32_get(win, + ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE, + &val, 1); + if ((ret == 0) || (ret == -1)) return 0; return val; @@ -973,12 +989,14 @@ EAPI int ecore_x_e_illume_sliding_win_state_get(Ecore_X_Window win) { unsigned int is_visible = 0; - + int ret = 0; + LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (!ecore_x_window_prop_card32_get(win, - ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_STATE, - &is_visible, 1)) - return 0; + ret = ecore_x_window_prop_card32_get(win, + ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_STATE, + &is_visible, 1); + if ((ret == 0) || (ret == -1)) + return 0; return is_visible; } --
