X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcontacteditor%2FfrmContactEditor.cpp;h=8881a2a3c4835d55358dd3ca01c28dd5ef1f6570;hb=da98f1ad6ed83618c96826a1098f51fbcf0daea3;hp=34711b028b8a6597f375c304a31e339e31766132;hpb=a1e30192bcca153e270c33c313b02bc8a1712ca8;p=xestiaab%2F.git diff --git a/source/contacteditor/frmContactEditor.cpp b/source/contacteditor/frmContactEditor.cpp index 34711b0..8881a2a 100644 --- a/source/contacteditor/frmContactEditor.cpp +++ b/source/contacteditor/frmContactEditor.cpp @@ -3113,22 +3113,48 @@ 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 if (pictypeiter->second == wxT("image/gif")){ + + if (!photo.LoadFile(istream, wxBITMAP_TYPE_GIF)){ + + return; + + } + + } else { + return; + + } PictureImage = (wxBitmap)photo; imgPicture->SetBitmap(PictureImage);