dwm.c
changeset 1075 e3916ef44cf0
parent 1073 c3e31814aecc
child 1076 591632523d96
--- a/dwm.c	Sat Dec 22 12:26:24 2007 +0000
+++ b/dwm.c	Sat Dec 22 12:49:04 2007 +0000
@@ -297,7 +297,7 @@
 	if(ch.res_name)
 		XFree(ch.res_name);
 	if(!matched_tag)
-		memcpy(c->tags, monitors[monitorat(-1, -1)].seltags, sizeof seltags);
+		memcpy(c->tags, monitors[monitorat(-1, -1)].seltags, sizeof initags);
 	if (!matched_monitor)
 		c->monitor = monitorat(-1, -1);
 }
@@ -1056,7 +1056,7 @@
 	XWindowChanges wc;
 
 	c = emallocz(sizeof(Client));
-	c->tags = emallocz(sizeof seltags);
+	c->tags = emallocz(sizeof initags);
 	c->win = w;
 
 	applyrules(c);
@@ -1100,7 +1100,7 @@
 	if((rettrans = XGetTransientForHint(dpy, w, &trans) == Success))
 		for(t = clients; t && t->win != trans; t = t->next);
 	if(t)
-		memcpy(c->tags, t->tags, sizeof seltags);
+		memcpy(c->tags, t->tags, sizeof initags);
 	if(!c->isfloating)
 		c->isfloating = (rettrans == Success) || c->isfixed;
 	attach(c);
@@ -1181,7 +1181,7 @@
 			else if(abs((m->way + m->wah) - (ny + c->h + 2 * c->border)) < SNAP)
 				ny = m->way + m->wah - c->h - 2 * c->border;
 			resize(c, nx, ny, c->w, c->h, False);
-			memcpy(c->tags, monitors[monitorat(nx, ny)].seltags, sizeof seltags);
+			memcpy(c->tags, monitors[monitorat(nx, ny)].seltags, sizeof initags);
 			break;
 		}
 	}
@@ -1591,11 +1591,11 @@
 		}
 
 		monitors[i].id = i;
-		monitors[i].seltags = emallocz(LENGTH(tags)*sizeof(char*));
-		monitors[i].prevtags = emallocz(LENGTH(tags)*sizeof(char*));
+		monitors[i].seltags = emallocz(sizeof initags);
+		monitors[i].prevtags = emallocz(sizeof initags);
 
-		memcpy(monitors[i].seltags, seltags, sizeof seltags);
-		memcpy(monitors[i].prevtags, seltags, sizeof seltags);
+		memcpy(monitors[i].seltags, initags, sizeof initags);
+		memcpy(monitors[i].prevtags, initags, sizeof initags);
 
 		/* init appearance */
 		monitors[i].dc.norm[ColBorder] = getcolor(NORMBORDERCOLOR);
@@ -1950,7 +1950,7 @@
 
 	Monitor *m = &monitors[monitorat(-1, -1)];
 
-	memcpy(m->prevtags, seltags, sizeof seltags);
+	memcpy(m->prevtags, m->seltags, sizeof initags);
 	for(i = 0; i < LENGTH(tags); i++)
 		m->seltags[i] = (NULL == arg);
 	m->seltags[idxoftag(arg)] = True;
@@ -1963,9 +1963,9 @@
 
 	Monitor *m = &monitors[monitorat(-1, -1)];
 
-	memcpy(tmp, m->seltags, sizeof seltags);
-	memcpy(m->seltags, m->prevtags, sizeof seltags);
-	memcpy(m->prevtags, tmp, sizeof seltags);
+	memcpy(tmp, m->seltags, sizeof initags);
+	memcpy(m->seltags, m->prevtags, sizeof initags);
+	memcpy(m->prevtags, tmp, sizeof initags);
 	arrange();
 }
 
@@ -2011,7 +2011,7 @@
 	if (sel) {
 		sel->monitor = arg ? atoi(arg) : (sel->monitor+1) % mcount;
 
-		memcpy(sel->tags, monitors[sel->monitor].seltags, sizeof seltags);
+		memcpy(sel->tags, monitors[sel->monitor].seltags, sizeof initags);
 		resize(sel, monitors[sel->monitor].wax, monitors[sel->monitor].way, sel->w, sel->h, True);
 		arrange();
 	}