mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-15 17:30:27 +08:00
fix: 修复夜神模拟器偶尔截个黑屏的问题
fix https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/2882
This commit is contained in:
@@ -791,6 +791,7 @@ void asst::Controller::clear_info() noexcept
|
||||
m_minitouch_avaiable = false;
|
||||
m_scale_size = { WindowWidthDefault, WindowHeightDefault };
|
||||
m_minitouch_props = decltype(m_minitouch_props)();
|
||||
m_screencap_data_general_size = 0;
|
||||
}
|
||||
|
||||
void asst::Controller::close_socket() noexcept
|
||||
@@ -1009,6 +1010,10 @@ bool asst::Controller::screencap(const std::string& cmd, const DecodeFunc& decod
|
||||
return false;
|
||||
}
|
||||
auto& data = ret.value();
|
||||
if (m_screencap_data_general_size && data.size() < m_screencap_data_general_size * 0.1) {
|
||||
Log.error("data is too small!");
|
||||
return false;
|
||||
}
|
||||
|
||||
bool tried_conversion = false;
|
||||
if (m_adb.screencap_end_of_line == AdbProperty::ScreencapEndOfLine::CRLF) {
|
||||
@@ -1024,7 +1029,6 @@ bool asst::Controller::screencap(const std::string& cmd, const DecodeFunc& decod
|
||||
Log.info("screencap_end_of_line is LF");
|
||||
m_adb.screencap_end_of_line = AdbProperty::ScreencapEndOfLine::LF;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
Log.info("data is not empty, but image is empty");
|
||||
@@ -1051,8 +1055,9 @@ bool asst::Controller::screencap(const std::string& cmd, const DecodeFunc& decod
|
||||
Log.info("screencap_end_of_line is changed to CRLF");
|
||||
}
|
||||
m_adb.screencap_end_of_line = AdbProperty::ScreencapEndOfLine::CRLF;
|
||||
return true;
|
||||
}
|
||||
m_screencap_data_general_size = data.size();
|
||||
return true;
|
||||
}
|
||||
|
||||
void asst::Controller::clear_lf_info()
|
||||
|
||||
@@ -187,6 +187,7 @@ namespace asst
|
||||
bool m_support_socket = false;
|
||||
bool m_server_started = false;
|
||||
bool m_inited = false;
|
||||
size_t m_screencap_data_general_size = 0;
|
||||
|
||||
inline static int m_instance_count = 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user