// wxURLDataObject
// ----------------------------------------------------------------------------
-class CFSTR_SHELLURLDataObject:public wxCustomDataObject
+
+class CFSTR_SHELLURLDataObject : public wxCustomDataObject
{
public:
CFSTR_SHELLURLDataObject() : wxCustomDataObject(CFSTR_SHELLURL) {}
{
return buffer;
}
+
#if wxUSE_UNICODE
virtual bool GetDataHere( void* buffer ) const
{
#endif
};
+
+
wxURLDataObject::wxURLDataObject()
{
// we support CF_TEXT and CFSTR_SHELLURL formats which are basicly the same
void wxURLDataObject::SetURL(const wxString& url)
{
- SetData(wxDataFormat(wxDF_TEXT), url.Length()+1, url.c_str());
- SetData(wxDataFormat(CFSTR_SHELLURL), url.Length()+1, url.c_str());
+ SetData(wxDataFormat(wxUSE_UNICODE ? wxDF_UNICODETEXT : wxDF_TEXT),
+ url.Length()+1, url.c_str());
+
+ // CFSTR_SHELLURL is always supposed to be ANSI...
+ wxWX2MBbuf urlA = (wxWX2MBbuf)url.mbc_str();
+ size_t len = strlen(urlA);
+ SetData(wxDataFormat(CFSTR_SHELLURL), len+1, (const char*)urlA);
}
// ----------------------------------------------------------------------------