From 826e3f1a990efb93f9bbf5d83512e63fc84007fe Mon Sep 17 00:00:00 2001
From: Luke Smith <luke@lukesmith.xyz>
Date: Tue, 2 Mar 2021 09:22:17 -0500
Subject: Revert "Mitigates disappearing blocks on fast mouse interaction"

---
 dwmblocks.c | 27 ++++++---------------------
 1 file changed, 6 insertions(+), 21 deletions(-)

diff --git a/dwmblocks.c b/dwmblocks.c
index 5021af1..18f58fb 100644
--- a/dwmblocks.c
+++ b/dwmblocks.c
@@ -13,7 +13,6 @@ typedef struct {
 	unsigned int interval;
 	unsigned int signal;
 } Block;
-char** last_updates;
 void sighandler(int num);
 void buttonhandler(int sig, siginfo_t *si, void *ucontext);
 void replace(char *str, char old, char new);
@@ -62,7 +61,7 @@ void remove_all(char *str, char to_remove) {
 }
 
 //opens process *cmd and stores output in *output
-void getcmd(const Block *block, char* last_update , char *output)
+void getcmd(const Block *block, char *output)
 {
 	if (block->signal)
 	{
@@ -78,15 +77,10 @@ void getcmd(const Block *block, char* last_update , char *output)
 	int i = strlen(block->icon);
 	fgets(output+i, CMDLENGTH-(strlen(delim)+1), cmdf);
 	remove_all(output, '\n');
-	if(i == strlen(output))
-		strcpy(output+i, last_update);
-	else
-		strcpy(last_update, output+i);
-
 	i = strlen(output);
-	if ((i > 0 && block != &blocks[LENGTH(blocks) - 1]))
-		strcat(output, delim);
-	i+=strlen(delim);
+    if ((i > 0 && block != &blocks[LENGTH(blocks) - 1]))
+        strcat(output, delim);
+    i+=strlen(delim);
 	output[i++] = '\0';
 	pclose(cmdf);
 }
@@ -98,7 +92,7 @@ void getcmds(int time)
 	{
 		current = blocks + i;
 		if ((current->interval != 0 && time % current->interval == 0) || time == -1)
-			getcmd(current,last_updates[i],statusbar[i]);
+			getcmd(current,statusbar[i]);
 	}
 }
 
@@ -110,7 +104,7 @@ void getsigcmds(int signal)
 	{
 		current = blocks + i;
 		if (current->signal == signal)
-			getcmd(current,last_updates[i],statusbar[i]);
+			getcmd(current,statusbar[i]);
 	}
 }
 
@@ -182,11 +176,6 @@ void statusloop()
 #ifndef __OpenBSD__
 	setupsignals();
 #endif
-  last_updates = malloc(sizeof(char*) * LENGTH(blocks));
-  for(int i = 0; i < LENGTH(blocks); i++) {
-    last_updates[i] = malloc(sizeof(char) * CMDLENGTH);
-    strcpy(last_updates[i],"");
-  }
 	int i = 0;
 	getcmds(-1);
 	while(statusContinue)
@@ -233,10 +222,6 @@ void buttonhandler(int sig, siginfo_t *si, void *ucontext)
 
 void termhandler(int signum)
 {
-  for(int i = 0; i < LENGTH(blocks); i++) {
-    free(last_updates[i]);
-  }
-  free(last_updates);
 	statusContinue = 0;
 	exit(0);
 }
-- 
cgit v1.2.3