diff --git a/legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_netwm.c b/legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_netwm.c index e9a76e5e1c..f04ee505cf 100644 --- a/legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_netwm.c +++ b/legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_netwm.c @@ -2872,6 +2872,17 @@ _ecore_x_window_prop_string_utf8_get_prefetch(Ecore_X_Window window, _ecore_xcb_cookie_cache(cookie.sequence); } +static void +_ecore_x_window_prop_string_utf8_get_fetch(void) +{ + xcb_get_property_cookie_t cookie; + xcb_get_property_reply_t *reply; + + cookie.sequence = _ecore_xcb_cookie_get(); + reply = xcb_get_property_reply(_ecore_xcb_conn, cookie, NULL); + _ecore_xcb_reply_cache(reply); +} + /* * Get UTF-8 string property * call _ecore_x_window_prop_string_utf8_get_prefetch() before. @@ -2884,27 +2895,22 @@ _ecore_x_window_prop_string_utf8_get(Ecore_X_Window window __UNUSED__, char *str; int length; - reply = _ecore_xcb_reply_get((Ecore_Xcb_Reply_Cb)xcb_get_property_reply); + reply = _ecore_xcb_reply_get(); if (!reply) return NULL; if ((reply->format != 8) || (reply->value_len <= 0)) - { - free(reply); - return NULL; - } + return NULL; length = reply->value_len; str = (char *)malloc (sizeof (char) * (length + 1)); if (!str) { - free(reply); return NULL; } memcpy(str, xcb_get_property_value(reply), length); str[length] = '\0'; - free(reply); return str; } diff --git a/legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_reply.c b/legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_reply.c index c9ec11e586..c82e41ae74 100644 --- a/legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_reply.c +++ b/legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_reply.c @@ -4,6 +4,8 @@ #include +#include + /* * FIXME: