xA/xM/xW: refresh renamed buffers correctly

Rendering takes the current buffer into account,
so change its value before using it, not afterwards.

The order happened to not matter on at least Windows,
because we just queue a message.
This commit is contained in:
Přemysl Eric Janouch 2024-11-14 11:38:10 +01:00
parent a62ed5bbac
commit 05a41b2629
Signed by: p
GPG Key ID: A0420B94F92B9493
3 changed files with 4 additions and 4 deletions

@ -921,11 +921,11 @@ func relayProcessMessage(m *RelayEventMessage) {
b.bufferName = data.New
refreshBufferList()
if data.BufferName == bufferCurrent {
bufferCurrent = data.New
refreshStatus()
}
refreshBufferList()
if data.BufferName == bufferLast {
bufferLast = data.New
}

@ -842,11 +842,11 @@ relayRPC.onEvent = { message in
b.bufferName = data.new
refreshBufferList()
if b.bufferName == relayBufferCurrent {
relayBufferCurrent = data.new
refreshStatus()
}
refreshBufferList()
if b.bufferName == relayBufferLast {
relayBufferLast = data.new
}

@ -1,7 +1,7 @@
/*
* xW.cpp: Win32 frontend for xC
*
* Copyright (c) 2023, Přemysl Eric Janouch <p@janouch.name>
* Copyright (c) 2023 - 2024, Přemysl Eric Janouch <p@janouch.name>
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted.
@ -914,11 +914,11 @@ relay_process_message(const Relay::EventMessage &m)
b->buffer_name = data.new_;
refresh_buffer_list();
if (data.buffer_name == g.buffer_current) {
g.buffer_current = data.new_;
refresh_status();
}
refresh_buffer_list();
if (data.buffer_name == g.buffer_last)
g.buffer_last = data.new_;
break;