SPE-2656: Fix of failed Load file in ScalableBitmap constructor.

This commit is contained in:
David Kocik 2025-02-10 12:37:21 +01:00 committed by Lukas Matena
parent 8c4183185b
commit e6925fd86b
2 changed files with 16 additions and 13 deletions

View File

@ -1034,17 +1034,17 @@ void Plater::priv::init()
user_account->on_communication_fail();
}
});
this->q->Bind(EVT_UA_AVATAR_SUCCESS, [this](UserAccountSuccessEvent& evt) {
boost::filesystem::path path = user_account->get_avatar_path(true);
FILE* file;
file = boost::nowide::fopen(path.generic_string().c_str(), "wb");
if (file == NULL) {
BOOST_LOG_TRIVIAL(error) << "Failed to create file to store avatar picture at: " << path;
return;
}
fwrite(evt.data.c_str(), 1, evt.data.size(), file);
fclose(file);
this->main_frame->refresh_account_menu(true);
this->q->Bind(EVT_UA_AVATAR_SUCCESS, [this](UserAccountSuccessEvent& evt) {
boost::filesystem::path path = user_account->get_avatar_path(true);
FILE* file;
file = boost::nowide::fopen(path.generic_string().c_str(), "wb");
if (file == NULL) {
BOOST_LOG_TRIVIAL(error) << "Failed to create file to store avatar picture at: " << path;
return;
}
fwrite(evt.data.c_str(), 1, evt.data.size(), file);
fclose(file);
this->main_frame->refresh_account_menu(true);
});
this->q->Bind(EVT_UA_PRUSACONNECT_PRINTER_DATA_SUCCESS, [this](UserAccountSuccessEvent& evt) {
this->user_account->set_current_printer_data(evt.data);

View File

@ -487,8 +487,11 @@ ScalableBitmap::ScalableBitmap(wxWindow* parent, boost::filesystem::path& icon_p
const std::string ext = icon_path.extension().string();
if (ext == ".png" || ext == ".jpg") {
bitmap.LoadFile(path, ext == ".png" ? wxBITMAP_TYPE_PNG : wxBITMAP_TYPE_JPEG);
if (!bitmap.LoadFile(path, ext == ".png" ? wxBITMAP_TYPE_PNG : wxBITMAP_TYPE_JPEG)) {
BOOST_LOG_TRIVIAL(error) << "Failed to load bitmap " << path;
return;
}
// check if the bitmap has a square shape
if (wxSize sz = bitmap.GetSize(); sz.x != sz.y) {