nerevar / jmc

JMC - Jaba Mud Client
25 stars 14 forks source link

Смешивание логов основного и нулевого дополнительного окон #41

Closed konelav closed 8 years ago

konelav commented 8 years ago

Команды логирования основного окна (log) и нулевого дополнительного (wlog 0) являются синонимами (т.е. имеют ровно одинаковый эффект, в том числе отменяют одна другую). При этом получающийся лог содержит текст из обоих этих окон. С учетом того, что логи окон вывода идут жестко в текстовом формате, может получиться "микс" из строк разного формата. Можно было бы рассматривать это как фичу, если бы, судя по исходникам, не подразумевалось (ожидаемое пользователем) разделение между этими логами. Функция Logs.cpp::StartLog() принимает первым параметром (wnd) "-1" от команды "log" и "0" от команды "wlog 0", однако далее в тексте идут сравнения типа (wnd > 0), таким образом объединяя эти два случая в один. Видимо, нужно нестрогое сравнение всюду в Logs.cpp::StartLog(int,...) и ещё в Logs.cpp::log(int, string).