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

View File

@ -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
}

View File

@ -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
}

View File

@ -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;