pasting text from xterm works, finally

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4439 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 1999-11-08 15:28:04 +00:00
parent e041ce574b
commit 270c23f7bd
2 changed files with 318 additions and 308 deletions

View File

@ -76,24 +76,29 @@ targets_selection_received( GtkWidget *WXUNUSED(widget),
#endif
wxClipboard *clipboard )
{
if (!wxTheClipboard)
if ( wxTheClipboard && selection_data->length > 0 )
{
clipboard->m_waiting = FALSE;
return;
}
if (selection_data->length <= 0)
{
clipboard->m_waiting = FALSE;
return;
}
/* make sure we got the data in the correct form */
if (selection_data->type != GDK_SELECTION_TYPE_ATOM)
// VZ: I don't know what does this mean (and GTK+ authors apparently
// don't know either, Owen Taylor writes that "Motif seems to ask
// for TARGETS atom sometimes" (??)), but it seems that xterm
// (which is not a Motif app AFAIK) does this too, so it's
// absolutely essential to support this, otherwise we can't paste
// text from xterm!
GdkAtom type = selection_data->type;
if ( type != GDK_SELECTION_TYPE_ATOM )
{
if ( strcmp(gdk_atom_name(type), "TARGETS") != 0 )
{
// don't know what this is
clipboard->m_waiting = FALSE;
return;
}
//else: don't know what this is, but it seems to work in the same
// way as GDK_SELECTION_TYPE_ATOM does
}
//else: the data is the list of formats supported by the selection
/*
wxDataFormat clip( selection_data->selection );
@ -118,9 +123,9 @@ targets_selection_received( GtkWidget *WXUNUSED(widget),
return;
}
}
}
clipboard->m_waiting = FALSE;
return;
}
//-----------------------------------------------------------------------------
@ -486,7 +491,7 @@ bool wxClipboard::IsSupported( const wxDataFormat& format )
/* perform query. this will set m_formatSupported to
TRUE if m_targetRequested is supported.
alsom we have to wait for the "answer" from the
also, we have to wait for the "answer" from the
clipboard owner which is an asynchronous process.
therefore we set m_waiting = TRUE here and wait
until the callback "targets_selection_received"

View File

@ -76,24 +76,29 @@ targets_selection_received( GtkWidget *WXUNUSED(widget),
#endif
wxClipboard *clipboard )
{
if (!wxTheClipboard)
if ( wxTheClipboard && selection_data->length > 0 )
{
clipboard->m_waiting = FALSE;
return;
}
if (selection_data->length <= 0)
{
clipboard->m_waiting = FALSE;
return;
}
/* make sure we got the data in the correct form */
if (selection_data->type != GDK_SELECTION_TYPE_ATOM)
// VZ: I don't know what does this mean (and GTK+ authors apparently
// don't know either, Owen Taylor writes that "Motif seems to ask
// for TARGETS atom sometimes" (??)), but it seems that xterm
// (which is not a Motif app AFAIK) does this too, so it's
// absolutely essential to support this, otherwise we can't paste
// text from xterm!
GdkAtom type = selection_data->type;
if ( type != GDK_SELECTION_TYPE_ATOM )
{
if ( strcmp(gdk_atom_name(type), "TARGETS") != 0 )
{
// don't know what this is
clipboard->m_waiting = FALSE;
return;
}
//else: don't know what this is, but it seems to work in the same
// way as GDK_SELECTION_TYPE_ATOM does
}
//else: the data is the list of formats supported by the selection
/*
wxDataFormat clip( selection_data->selection );
@ -118,9 +123,9 @@ targets_selection_received( GtkWidget *WXUNUSED(widget),
return;
}
}
}
clipboard->m_waiting = FALSE;
return;
}
//-----------------------------------------------------------------------------
@ -486,7 +491,7 @@ bool wxClipboard::IsSupported( const wxDataFormat& format )
/* perform query. this will set m_formatSupported to
TRUE if m_targetRequested is supported.
alsom we have to wait for the "answer" from the
also, we have to wait for the "answer" from the
clipboard owner which is an asynchronous process.
therefore we set m_waiting = TRUE here and wait
until the callback "targets_selection_received"