fix ncz block installs, fix error module value being out of range, display error on install from filebrowser.
the issue with block installs was that i was not tracking the ncz block offset in between transfers. this resulted in the block size being used for each transfer, rather then size-offset. for blocks that were always compressed, this silently worked as zstd stream can handle multiple frames. however, if there existed compressed and uncompressed blocks, then this bug would be exposed. thanks to Marulv for reporting the bug.
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
namespace sphaira::ui {
|
||||
|
||||
ErrorBox::ErrorBox(const std::string& message) : m_message{message} {
|
||||
log_write("[ERROR] %s\n", m_message.c_str());
|
||||
|
||||
m_pos.w = 770.f;
|
||||
m_pos.h = 430.f;
|
||||
@@ -21,6 +22,7 @@ ErrorBox::ErrorBox(const std::string& message) : m_message{message} {
|
||||
|
||||
ErrorBox::ErrorBox(Result code, const std::string& message) : ErrorBox{message} {
|
||||
m_code = code;
|
||||
log_write("[ERROR] Code: 0x%X Module: %u Description: %u\n", R_VALUE(code), R_MODULE(code), R_DESCRIPTION(code));
|
||||
}
|
||||
|
||||
auto ErrorBox::Update(Controller* controller, TouchInfo* touch) -> void {
|
||||
|
||||
@@ -694,6 +694,8 @@ void FsView::InstallFiles() {
|
||||
}
|
||||
|
||||
R_SUCCEED();
|
||||
}, [this](Result rc){
|
||||
App::PushErrorBox(rc, "File install failed!"_i18n);
|
||||
}));
|
||||
}
|
||||
}));
|
||||
|
||||
Reference in New Issue
Block a user