git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14576
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// wxURLDataObject
// ----------------------------------------------------------------------------
// wxURLDataObject
// ----------------------------------------------------------------------------
-class CFSTR_SHELLURLDataObject:public wxCustomDataObject
+
+class CFSTR_SHELLURLDataObject : public wxCustomDataObject
{
public:
CFSTR_SHELLURLDataObject() : wxCustomDataObject(CFSTR_SHELLURL) {}
{
public:
CFSTR_SHELLURLDataObject() : wxCustomDataObject(CFSTR_SHELLURL) {}
#if wxUSE_UNICODE
virtual bool GetDataHere( void* buffer ) const
{
#if wxUSE_UNICODE
virtual bool GetDataHere( void* buffer ) const
{
wxURLDataObject::wxURLDataObject()
{
// we support CF_TEXT and CFSTR_SHELLURL formats which are basicly the same
wxURLDataObject::wxURLDataObject()
{
// we support CF_TEXT and CFSTR_SHELLURL formats which are basicly the same
void wxURLDataObject::SetURL(const wxString& url)
{
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);
}
// ----------------------------------------------------------------------------
}
// ----------------------------------------------------------------------------