]> code.delx.au - spectrwm/commitdiff
Fix setting of window property strings to use actual number of
authorReginald Kennedy <rk@rejii.com>
Mon, 13 Feb 2012 15:32:31 +0000 (23:32 +0800)
committerReginald Kennedy <rk@rejii.com>
Mon, 13 Feb 2012 15:32:31 +0000 (23:32 +0800)
elements rather than char array size.

ok marco

lib/swm_hack.c
scrotwm.c

index f90419eabbc7d0b10466a09c96eec6744868d313..e6df1b080af3747f20f174789ee459bb482350dd 100644 (file)
@@ -106,7 +106,8 @@ set_property(Display *dpy, Window id, char *name, char *val)
        if (atom)
                if (snprintf(prop, SWM_PROPLEN, "%s", val) < SWM_PROPLEN)
                        (*xcp)(dpy, id, atom, XA_STRING,
-                           8, PropModeReplace, (unsigned char *)prop, SWM_PROPLEN);
+                           8, PropModeReplace, (unsigned char *)prop,
+                           strlen((char *)prop));
 }
 
 typedef             Window(CWF) (Display * _display, Window _parent, int _x,
index 96bb1a3aaa9341088c6bb59de3088bbfab53b75c..cd8b68a3535118b240e9631aed16cbf6b515730e 100644 (file)
--- a/scrotwm.c
+++ b/scrotwm.c
@@ -3280,7 +3280,7 @@ send_to_ws(struct swm_region *r, union arg *args)
                DNPRINTF(SWM_D_PROP, "send_to_ws: set property: _SWM_WS: %s\n",
                    ws_idx_str);
                XChangeProperty(display, win->id, ws_idx_atom, XA_STRING, 8,
-                   PropModeReplace, ws_idx_str, SWM_PROPLEN);
+                   PropModeReplace, ws_idx_str, strlen((char *)ws_idx_str));
        }
 
        stack();
@@ -5878,7 +5878,7 @@ manage_window(Window id)
                DNPRINTF(SWM_D_PROP, "manage_window: set _SWM_WS: %s\n",
                    ws_idx_str);
                XChangeProperty(display, win->id, ws_idx_atom, XA_STRING, 8,
-                   PropModeReplace, ws_idx_str, SWM_PROPLEN);
+                   PropModeReplace, ws_idx_str, strlen((char *)ws_idx_str));
        }
        if (prop)
                XFree(prop);