- 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);