2 * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
10 * - in ecore_xcb_cookie_cache, should provide better error management
11 * when memory allocation fails
12 * - Use an array instead of a list
13 * - Is ecore_xcb_reply_free really needed ?
14 * _ecore_xcb_reply_cache frees the current reply and
15 * _ecore_x_reply_shutdown frees the last reply to free.
16 * I keep it in case it is need for memory improvements,
17 * but its code is commented.
20 static Eina_List *_ecore_xcb_cookies = NULL;
21 static void *_ecore_xcb_reply = NULL;
23 typedef struct _Ecore_Xcb_Data Ecore_Xcb_Data;
25 struct _Ecore_Xcb_Data
32 _ecore_x_reply_init ()
38 _ecore_x_reply_shutdown ()
43 free(_ecore_xcb_reply);
45 if (!_ecore_xcb_cookies)
48 EINA_LIST_FREE(_ecore_xcb_cookies, data)
53 _ecore_xcb_cookie_cache (unsigned int cookie)
57 if (!_ecore_xcb_cookies)
60 data = (Ecore_Xcb_Data *)malloc(sizeof(Ecore_Xcb_Data));
64 data->cookie = cookie;
66 _ecore_xcb_cookies = eina_list_append(_ecore_xcb_cookies, data);
67 if (!eina_list_data_find(_ecore_xcb_cookies, data))
75 _ecore_xcb_cookie_get (void)
80 if (!_ecore_xcb_cookies)
83 data = eina_list_data_get(_ecore_xcb_cookies);
86 _ecore_xcb_cookies = eina_list_remove_list(_ecore_xcb_cookies, _ecore_xcb_cookies);
87 cookie = data->cookie;
94 _ecore_xcb_reply_cache (void *reply)
97 free(_ecore_xcb_reply);
98 _ecore_xcb_reply = reply;
102 _ecore_xcb_reply_get (void)
104 return _ecore_xcb_reply;
108 ecore_xcb_reply_free()
110 /* if (_ecore_xcb_reply) */
112 /* free(_ecore_xcb_reply); */
113 /* _ecore_xcb_reply = NULL; */