diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/cwm/group.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/app/cwm/group.c b/app/cwm/group.c index 85af7a1f9..f644851a4 100644 --- a/app/cwm/group.c +++ b/app/cwm/group.c @@ -16,7 +16,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: group.c,v 1.59 2012/07/08 01:00:24 okan Exp $ + * $OpenBSD: group.c,v 1.60 2012/09/09 20:52:57 okan Exp $ */ #include <sys/param.h> @@ -458,18 +458,12 @@ group_update_names(struct screen_ctx *sc) { char **strings, *p; unsigned char *prop_ret; - Atom type_ret; - int format_ret, i = 0, nstrings = 0, n = 0, setnames = 0; - unsigned long bytes_after, num_ret; - - if (XGetWindowProperty(X_Dpy, sc->rootwin, - ewmh[_NET_DESKTOP_NAMES].atom, 0, 0xffffff, False, - cwmh[UTF8_STRING].atom, &type_ret, &format_ret, - &num_ret, &bytes_after, &prop_ret) == Success && - prop_ret != NULL && format_ret == 8) { - /* failure, just set defaults */ - prop_ret[num_ret - 1] = '\0'; /* paranoia */ - while (i < num_ret) { + int i = 0, j = 0, nstrings = 0, n = 0, setnames = 0; + + if ((j = xu_getprop(sc->rootwin, ewmh[_NET_DESKTOP_NAMES].atom, + cwmh[UTF8_STRING].atom, 0xffffff, (u_char **)&prop_ret)) > 0) { + prop_ret[j - 1] = '\0'; /* paranoia */ + while (i < j) { if (prop_ret[i++] == '\0') nstrings++; } |