From: Steve Brokenshire Date: Tue, 4 Aug 2015 21:31:42 +0000 (+0100) Subject: Added check to get what type of picture and load accordingly as auto detection from... X-Git-Tag: release-0.05~86 X-Git-Url: http://Server1/repobrowser/?p=xestiaab%2F.git;a=commitdiff_plain;h=ee025a9c43f77d08b14e96803b3eefa4f0536841 Added check to get what type of picture and load accordingly as auto detection from wxBITMAP_TYPE_ANY doesn't work. --- diff --git a/source/contacteditor/frmContactEditor.cpp b/source/contacteditor/frmContactEditor.cpp index 34711b0..dd17d98 100644 --- a/source/contacteditor/frmContactEditor.cpp +++ b/source/contacteditor/frmContactEditor.cpp @@ -3113,22 +3113,40 @@ void frmContactEditor::LoadPicture( wxListEvent& event ) std::string base64dec; std::map::iterator initier; + std::map::iterator pictypeiter; initier = PicturesList.find(intSelectedData); + pictypeiter = PicturesListPictureType.find(intSelectedData); base64dec = base64_decode(initier->second); - wxMemoryInputStream istream(base64dec.c_str(), (size_t)base64dec.size()); wxImage photo; //wxMemoryInputStream istream(base64dec, (size_t)base64dec.size()); - if (!photo.LoadFile(istream, wxBITMAP_TYPE_ANY)){ + wxPuts(wxT("PicType:") + pictypeiter->second); + + if (pictypeiter->second == wxT("image/jpeg")){ - return; + if (!photo.LoadFile(istream, wxBITMAP_TYPE_JPEG)){ - } + return; + + } + + } else if (pictypeiter->second == wxT("image/png")){ + + if (!photo.LoadFile(istream, wxBITMAP_TYPE_PNG)){ + + return; + + } + + } else { + + return; + } PictureImage = (wxBitmap)photo; imgPicture->SetBitmap(PictureImage);