about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-03-08 23:15:56 -0400
committerJune McEnroe <june@causal.agency>2020-03-08 23:15:56 -0400
commit7e120f00a19c27e0b98e27a2eacacdfce9bd3ca2 (patch)
tree868dee59354b1b1f8c80bcd447f253fbb2c4a145
parentPrevent entering commands in <debug> if restricted (diff)
downloadcatgirl-7e120f00a19c27e0b98e27a2eacacdfce9bd3ca2.tar.gz
catgirl-7e120f00a19c27e0b98e27a2eacacdfce9bd3ca2.zip
Set self.pos before handling the message
This intuitively feels wrong, but isn't. Most importantly, handleError
immediately exits, but we still need to "consume" that message,
otherwise pounce will keep sending it on reconnect. The same goes for
any other handler that might cause an exit, such as a require parameter
count failure.
-rw-r--r--handle.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/handle.c b/handle.c
index 0a1dedb..d0236fd 100644
--- a/handle.c
+++ b/handle.c
@@ -1018,6 +1018,9 @@ static int compar(const void *cmd, const void *_handler) {
 
 void handle(struct Message msg) {
 	if (!msg.cmd) return;
+	if (msg.tags[TagPos]) {
+		self.pos = strtoull(msg.tags[TagPos], NULL, 10);
+	}
 	const struct Handler *handler = bsearch(
 		msg.cmd, Handlers, ARRAY_LEN(Handlers), sizeof(*handler), compar
 	);
@@ -1026,7 +1029,4 @@ void handle(struct Message msg) {
 	} else if (strcmp(msg.cmd, "400") >= 0 && strcmp(msg.cmd, "599") <= 0) {
 		handleErrorGeneric(&msg);
 	}
-	if (msg.tags[TagPos]) {
-		self.pos = strtoull(msg.tags[TagPos], NULL, 10);
-	}
 }
June McEnroe 2021-02-08Add macOS-like copy and paste to xtermJune McEnroe 2021-02-08Only update clock script every minuteJune McEnroe 2021-02-08Use 4M- for window resizing in cwmJune McEnroe 2021-02-08Tweak trackpad scaling, mouse accelerationJune McEnroe 2021-02-08Use xsel in up and add it do install.shJune McEnroe 2021-02-07Swap root window coloursJune McEnroe 2021-02-07Add -X flag to install X stuff on OpenBSDJune McEnroe 2021-02-07Adjust brightness by smaller incrementsJune McEnroe 2021-02-07Fix cwm window cycling, move big by defaultJune McEnroe 2021-02-07Use class names for Foreground, Background, BorderColorJune McEnroe 2021-02-07Add simple battery status and clock to xsessionJune McEnroe 2021-02-07Set cursor theme and sizeJune McEnroe 2021-02-07Use scrot for up -s if no screencaptureJune McEnroe 2021-02-07Enable mouse acceleration in XJune McEnroe 2021-02-07Set colours for Xt and cwmJune McEnroe 2021-02-07Set urgency on bell in xtermJune McEnroe 2021-02-07Add bindings for brightness controlJune McEnroe 2021-02-07Set X key repeat rateJune McEnroe 2021-02-07Bump font size to 12June McEnroe 2021-02-07Fully configure and rebind cwmJune McEnroe 2021-02-07Add BintiJune McEnroe 2021-02-07Finish configuring xtermJune McEnroe 2021-02-06Enable tapping, reverse scroll, set scaling in wsconsctlJune McEnroe 2021-02-06Set root window to black on purple snowJune McEnroe 2021-02-06Add xmodmap configurationJune McEnroe 2021-02-06Add initial OpenBSD X configurationJune McEnroe 2021-02-06Add xterm output to schemeJune McEnroe