Correct query for formats supported by wxDataObject in wxGTK wxClipboard.

We wrongly asked wxDataObject for the formats it could provide on output
instead of those it accepted as input in wxClipboard::GetData() in wxGTK.
This could result in clipboard not working for "asymmetrical" data objects.

See #11811.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63661 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2010-03-12 09:27:10 +00:00
parent a37da0fa55
commit 7eb670ac14
2 changed files with 5 additions and 3 deletions

View File

@ -501,6 +501,7 @@ GTK:
- wxRadioBox constructor uses default consistent with other ports now. - wxRadioBox constructor uses default consistent with other ports now.
- Partially implemented wxTextCtrl::GetStyle() (Igor Romanov). - Partially implemented wxTextCtrl::GetStyle() (Igor Romanov).
- Corrected themed border display. - Corrected themed border display.
- Fix wxClipboard::GetData() for asymmetric wxDataObjects (Timothy Lee).
Mac: Mac:

View File

@ -674,10 +674,11 @@ bool wxClipboard::GetData( wxDataObject& data )
{ {
wxCHECK_MSG( m_open, false, wxT("clipboard not open") ); wxCHECK_MSG( m_open, false, wxT("clipboard not open") );
// get all supported formats from wxDataObjects // get all supported formats from wxDataObjects: notice that we are setting
const size_t count = data.GetFormatCount(); // the object data, so we need them in "Set" direction
const size_t count = data.GetFormatCount(wxDataObject::Set);
wxDataFormatArray formats(new wxDataFormat[count]); wxDataFormatArray formats(new wxDataFormat[count]);
data.GetAllFormats(formats.get()); data.GetAllFormats(formats.get(), wxDataObject::Set);
for ( size_t i = 0; i < count; i++ ) for ( size_t i = 0; i < count; i++ )
{ {