compilation fixes for old gcc

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4120 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1999-10-21 19:33:03 +00:00
parent bc450ccdff
commit 6663339816
2 changed files with 134 additions and 130 deletions

View File

@@ -4,7 +4,7 @@
// Author: Robert Roebling // Author: Robert Roebling
// Id: $Id$ // Id: $Id$
// Copyright: (c) 1998 Robert Roebling // Copyright: (c) 1998 Robert Roebling
// Licence: wxWindows licence // Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__ #ifdef __GNUG__
@@ -59,9 +59,9 @@ struct _GtkSelectionData
GdkAtom selection; GdkAtom selection;
GdkAtom target; GdkAtom target;
GdkAtom type; GdkAtom type;
gint format; gint format;
guchar *data; guchar *data;
gint length; gint length;
}; };
*/ */
@@ -76,7 +76,7 @@ targets_selection_received( GtkWidget *WXUNUSED(widget),
#if (GTK_MINOR_VERSION > 0) #if (GTK_MINOR_VERSION > 0)
guint32 WXUNUSED(time), guint32 WXUNUSED(time),
#endif #endif
wxClipboard *clipboard ) wxClipboard *clipboard )
{ {
if (!wxTheClipboard) if (!wxTheClipboard)
{ {
@@ -126,7 +126,7 @@ selection_received( GtkWidget *WXUNUSED(widget),
#if (GTK_MINOR_VERSION > 0) #if (GTK_MINOR_VERSION > 0)
guint32 WXUNUSED(time), guint32 WXUNUSED(time),
#endif #endif
wxClipboard *clipboard ) wxClipboard *clipboard )
{ {
if (!wxTheClipboard) if (!wxTheClipboard)
{ {
@@ -164,7 +164,7 @@ selection_received( GtkWidget *WXUNUSED(widget),
clipboard->m_waiting = FALSE; clipboard->m_waiting = FALSE;
return; return;
} }
data_object->SetData( format, (size_t) selection_data->length, (const char*) selection_data->data ); data_object->SetData( format, (size_t) selection_data->length, (const char*) selection_data->data );
wxTheClipboard->m_formatSupported = TRUE; wxTheClipboard->m_formatSupported = TRUE;
@@ -200,10 +200,10 @@ selection_clear_clip( GtkWidget *WXUNUSED(widget), GdkEventSelection *event )
{ {
/* the clipboard is no longer in our hands. we can the delete clipboard data. */ /* the clipboard is no longer in our hands. we can the delete clipboard data. */
if (wxTheClipboard->m_data) if (wxTheClipboard->m_data)
{ {
delete wxTheClipboard->m_data; delete wxTheClipboard->m_data;
wxTheClipboard->m_data = (wxDataObject*) NULL; wxTheClipboard->m_data = (wxDataObject*) NULL;
} }
} }
wxTheClipboard->m_waiting = FALSE; wxTheClipboard->m_waiting = FALSE;
@@ -230,24 +230,24 @@ selection_handler( GtkWidget *WXUNUSED(widget), GtkSelectionData *selection_data
/* this will fail for composite formats */ /* this will fail for composite formats */
if (format.GetType() == wxDF_TEXT) if (format.GetType() == wxDF_TEXT)
{ {
wxTextDataObject *text_object = (wxTextDataObject*) data; wxTextDataObject *text_object = (wxTextDataObject*) data;
wxString text( text_object->GetText() ); wxString text( text_object->GetText() );
#if wxUSE_UNICODE #if wxUSE_UNICODE
const wxWX2MBbuf s = text.mbc_str(); const wxWX2MBbuf s = text.mbc_str();
int len = strlen(s); int len = strlen(s);
#else // more efficient in non-Unicode #else // more efficient in non-Unicode
const char *s = text.c_str(); const char *s = text.c_str();
int len = (int) text.Length(); int len = (int) text.Length();
#endif #endif
gtk_selection_data_set( gtk_selection_data_set(
selection_data, selection_data,
GDK_SELECTION_TYPE_STRING, GDK_SELECTION_TYPE_STRING,
8*sizeof(gchar), 8*sizeof(gchar),
(unsigned char*) (const char*) s, (unsigned char*) (const char*) s,
len ); len );
return; return;
} }
int size = data->GetDataSize( format ); int size = data->GetDataSize( format );
@@ -260,10 +260,10 @@ selection_handler( GtkWidget *WXUNUSED(widget), GtkSelectionData *selection_data
gtk_selection_data_set( gtk_selection_data_set(
selection_data, selection_data,
GDK_SELECTION_TYPE_STRING, GDK_SELECTION_TYPE_STRING,
8*sizeof(gchar), 8*sizeof(gchar),
(unsigned char*) d, (unsigned char*) d,
size ); size );
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -289,9 +289,9 @@ wxClipboard::wxClipboard()
gtk_signal_connect( GTK_OBJECT(m_targetsWidget), gtk_signal_connect( GTK_OBJECT(m_targetsWidget),
"selection_received", "selection_received",
GTK_SIGNAL_FUNC( targets_selection_received ), GTK_SIGNAL_FUNC( targets_selection_received ),
(gpointer) this ); (gpointer) this );
/* we use m_clipboardWidget to get and to offer data */ /* we use m_clipboardWidget to get and to offer data */
m_clipboardWidget = gtk_window_new( GTK_WINDOW_POPUP ); m_clipboardWidget = gtk_window_new( GTK_WINDOW_POPUP );
@@ -299,14 +299,14 @@ wxClipboard::wxClipboard()
gtk_signal_connect( GTK_OBJECT(m_clipboardWidget), gtk_signal_connect( GTK_OBJECT(m_clipboardWidget),
"selection_received", "selection_received",
GTK_SIGNAL_FUNC( selection_received ), GTK_SIGNAL_FUNC( selection_received ),
(gpointer) this ); (gpointer) this );
gtk_signal_connect( GTK_OBJECT(m_clipboardWidget), gtk_signal_connect( GTK_OBJECT(m_clipboardWidget),
"selection_clear_event", "selection_clear_event",
GTK_SIGNAL_FUNC( selection_clear_clip ), GTK_SIGNAL_FUNC( selection_clear_clip ),
(gpointer) NULL ); (gpointer) NULL );
if (!g_clipboardAtom) g_clipboardAtom = gdk_atom_intern( "CLIPBOARD", FALSE ); if (!g_clipboardAtom) g_clipboardAtom = gdk_atom_intern( "CLIPBOARD", FALSE );
if (!g_targetsAtom) g_targetsAtom = gdk_atom_intern ("TARGETS", FALSE); if (!g_targetsAtom) g_targetsAtom = gdk_atom_intern ("TARGETS", FALSE);
@@ -338,27 +338,27 @@ void wxClipboard::Clear()
if (gdk_selection_owner_get( g_clipboardAtom ) == m_clipboardWidget->window) if (gdk_selection_owner_get( g_clipboardAtom ) == m_clipboardWidget->window)
{ {
m_waiting = TRUE; m_waiting = TRUE;
gtk_selection_owner_set( (GtkWidget*) NULL, g_clipboardAtom, GDK_CURRENT_TIME ); gtk_selection_owner_set( (GtkWidget*) NULL, g_clipboardAtom, GDK_CURRENT_TIME );
while (m_waiting) gtk_main_iteration(); while (m_waiting) gtk_main_iteration();
} }
if (gdk_selection_owner_get( GDK_SELECTION_PRIMARY ) == m_clipboardWidget->window) if (gdk_selection_owner_get( GDK_SELECTION_PRIMARY ) == m_clipboardWidget->window)
{ {
m_waiting = TRUE; m_waiting = TRUE;
gtk_selection_owner_set( (GtkWidget*) NULL, GDK_SELECTION_PRIMARY, GDK_CURRENT_TIME ); gtk_selection_owner_set( (GtkWidget*) NULL, GDK_SELECTION_PRIMARY, GDK_CURRENT_TIME );
while (m_waiting) gtk_main_iteration(); while (m_waiting) gtk_main_iteration();
} }
if (m_data) if (m_data)
{ {
delete m_data; delete m_data;
m_data = (wxDataObject*) NULL; m_data = (wxDataObject*) NULL;
} }
#if wxUSE_THREADS #if wxUSE_THREADS
/* re-enable GUI threads */ /* re-enable GUI threads */
wxapp_install_thread_wakeup(); wxapp_install_thread_wakeup();
@@ -411,29 +411,29 @@ bool wxClipboard::AddData( wxDataObject *data )
for (size_t i = 0; i < m_data->GetFormatCount(); i++) for (size_t i = 0; i < m_data->GetFormatCount(); i++)
{ {
GdkAtom atom = array[i]; GdkAtom atom = array[i];
wxLogDebug( wxT("Clipboard Supported atom %s"), gdk_atom_name( atom ) ); wxLogDebug( wxT("Clipboard Supported atom %s"), gdk_atom_name( atom ) );
/* Add handlers if someone requests data. We currently always /* Add handlers if someone requests data. We currently always
offer data to the clipboard and the primary selection. Maybe offer data to the clipboard and the primary selection. Maybe
we should make that depend on the usePrimary flag */ we should make that depend on the usePrimary flag */
gtk_selection_add_target( GTK_WIDGET(m_clipboardWidget), gtk_selection_add_target( GTK_WIDGET(m_clipboardWidget),
GDK_SELECTION_PRIMARY, GDK_SELECTION_PRIMARY,
atom, atom,
0 ); /* what is info ? */ 0 ); /* what is info ? */
gtk_selection_add_target( GTK_WIDGET(m_clipboardWidget), gtk_selection_add_target( GTK_WIDGET(m_clipboardWidget),
g_clipboardAtom, g_clipboardAtom,
atom, atom,
0 ); /* what is info ? */ 0 ); /* what is info ? */
} }
delete[] array; delete[] array;
gtk_signal_connect( GTK_OBJECT(m_clipboardWidget), gtk_signal_connect( GTK_OBJECT(m_clipboardWidget),
"selection_get", "selection_get",
GTK_SIGNAL_FUNC(selection_handler), GTK_SIGNAL_FUNC(selection_handler),
(gpointer) NULL ); (gpointer) NULL );
#if wxUSE_THREADS #if wxUSE_THREADS
/* disable GUI threads */ /* disable GUI threads */
@@ -443,7 +443,7 @@ bool wxClipboard::AddData( wxDataObject *data )
/* Tell the world we offer clipboard data */ /* Tell the world we offer clipboard data */
if (!gtk_selection_owner_set( m_clipboardWidget, if (!gtk_selection_owner_set( m_clipboardWidget,
g_clipboardAtom, g_clipboardAtom,
GDK_CURRENT_TIME )) GDK_CURRENT_TIME ))
{ {
#if wxUSE_THREADS #if wxUSE_THREADS
/* re-enable GUI threads */ /* re-enable GUI threads */
@@ -455,7 +455,7 @@ bool wxClipboard::AddData( wxDataObject *data )
if (!gtk_selection_owner_set( m_clipboardWidget, if (!gtk_selection_owner_set( m_clipboardWidget,
GDK_SELECTION_PRIMARY, GDK_SELECTION_PRIMARY,
GDK_CURRENT_TIME )) GDK_CURRENT_TIME ))
{ {
#if wxUSE_THREADS #if wxUSE_THREADS
/* re-enable GUI threads */ /* re-enable GUI threads */
@@ -469,7 +469,7 @@ bool wxClipboard::AddData( wxDataObject *data )
/* re-enable GUI threads */ /* re-enable GUI threads */
wxapp_install_thread_wakeup(); wxapp_install_thread_wakeup();
#endif #endif
return TRUE; return TRUE;
} }
@@ -508,9 +508,10 @@ bool wxClipboard::IsSupported( const wxDataFormat& format )
m_waiting = TRUE; m_waiting = TRUE;
gtk_selection_convert( m_targetsWidget, gtk_selection_convert( m_targetsWidget,
m_usePrimary ? GDK_SELECTION_PRIMARY : g_clipboardAtom, m_usePrimary ? (GdkAtom)GDK_SELECTION_PRIMARY
g_targetsAtom, : g_clipboardAtom,
GDK_CURRENT_TIME ); g_targetsAtom,
GDK_CURRENT_TIME );
while (m_waiting) gtk_main_iteration(); while (m_waiting) gtk_main_iteration();
@@ -535,7 +536,7 @@ bool wxClipboard::GetData( wxDataObject& data )
/* is data supported by clipboard ? */ /* is data supported by clipboard ? */
if (!IsSupported( format )) if (!IsSupported( format ))
continue; continue;
/* store pointer to data object to be filled up by callbacks */ /* store pointer to data object to be filled up by callbacks */
m_receivedData = &data; m_receivedData = &data;
@@ -562,16 +563,17 @@ bool wxClipboard::GetData( wxDataObject& data )
wxLogDebug( wxT("wxClipboard::GetData: format found, start convert") ); wxLogDebug( wxT("wxClipboard::GetData: format found, start convert") );
gtk_selection_convert( m_clipboardWidget, gtk_selection_convert( m_clipboardWidget,
m_usePrimary ? GDK_SELECTION_PRIMARY : g_clipboardAtom, m_usePrimary ? (GdkAtom)GDK_SELECTION_PRIMARY
m_targetRequested, : g_clipboardAtom,
GDK_CURRENT_TIME ); m_targetRequested,
GDK_CURRENT_TIME );
while (m_waiting) gtk_main_iteration(); while (m_waiting) gtk_main_iteration();
/* this is a true error as we checked for the presence of such data before */ /* this is a true error as we checked for the presence of such data before */
wxCHECK_MSG( m_formatSupported, FALSE, wxT("error retrieving data from clipboard") ); wxCHECK_MSG( m_formatSupported, FALSE, wxT("error retrieving data from clipboard") );
/* return success */ /* return success */
delete[] array; delete[] array;
return TRUE; return TRUE;
} }

View File

@@ -4,7 +4,7 @@
// Author: Robert Roebling // Author: Robert Roebling
// Id: $Id$ // Id: $Id$
// Copyright: (c) 1998 Robert Roebling // Copyright: (c) 1998 Robert Roebling
// Licence: wxWindows licence // Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__ #ifdef __GNUG__
@@ -59,9 +59,9 @@ struct _GtkSelectionData
GdkAtom selection; GdkAtom selection;
GdkAtom target; GdkAtom target;
GdkAtom type; GdkAtom type;
gint format; gint format;
guchar *data; guchar *data;
gint length; gint length;
}; };
*/ */
@@ -76,7 +76,7 @@ targets_selection_received( GtkWidget *WXUNUSED(widget),
#if (GTK_MINOR_VERSION > 0) #if (GTK_MINOR_VERSION > 0)
guint32 WXUNUSED(time), guint32 WXUNUSED(time),
#endif #endif
wxClipboard *clipboard ) wxClipboard *clipboard )
{ {
if (!wxTheClipboard) if (!wxTheClipboard)
{ {
@@ -126,7 +126,7 @@ selection_received( GtkWidget *WXUNUSED(widget),
#if (GTK_MINOR_VERSION > 0) #if (GTK_MINOR_VERSION > 0)
guint32 WXUNUSED(time), guint32 WXUNUSED(time),
#endif #endif
wxClipboard *clipboard ) wxClipboard *clipboard )
{ {
if (!wxTheClipboard) if (!wxTheClipboard)
{ {
@@ -164,7 +164,7 @@ selection_received( GtkWidget *WXUNUSED(widget),
clipboard->m_waiting = FALSE; clipboard->m_waiting = FALSE;
return; return;
} }
data_object->SetData( format, (size_t) selection_data->length, (const char*) selection_data->data ); data_object->SetData( format, (size_t) selection_data->length, (const char*) selection_data->data );
wxTheClipboard->m_formatSupported = TRUE; wxTheClipboard->m_formatSupported = TRUE;
@@ -200,10 +200,10 @@ selection_clear_clip( GtkWidget *WXUNUSED(widget), GdkEventSelection *event )
{ {
/* the clipboard is no longer in our hands. we can the delete clipboard data. */ /* the clipboard is no longer in our hands. we can the delete clipboard data. */
if (wxTheClipboard->m_data) if (wxTheClipboard->m_data)
{ {
delete wxTheClipboard->m_data; delete wxTheClipboard->m_data;
wxTheClipboard->m_data = (wxDataObject*) NULL; wxTheClipboard->m_data = (wxDataObject*) NULL;
} }
} }
wxTheClipboard->m_waiting = FALSE; wxTheClipboard->m_waiting = FALSE;
@@ -230,24 +230,24 @@ selection_handler( GtkWidget *WXUNUSED(widget), GtkSelectionData *selection_data
/* this will fail for composite formats */ /* this will fail for composite formats */
if (format.GetType() == wxDF_TEXT) if (format.GetType() == wxDF_TEXT)
{ {
wxTextDataObject *text_object = (wxTextDataObject*) data; wxTextDataObject *text_object = (wxTextDataObject*) data;
wxString text( text_object->GetText() ); wxString text( text_object->GetText() );
#if wxUSE_UNICODE #if wxUSE_UNICODE
const wxWX2MBbuf s = text.mbc_str(); const wxWX2MBbuf s = text.mbc_str();
int len = strlen(s); int len = strlen(s);
#else // more efficient in non-Unicode #else // more efficient in non-Unicode
const char *s = text.c_str(); const char *s = text.c_str();
int len = (int) text.Length(); int len = (int) text.Length();
#endif #endif
gtk_selection_data_set( gtk_selection_data_set(
selection_data, selection_data,
GDK_SELECTION_TYPE_STRING, GDK_SELECTION_TYPE_STRING,
8*sizeof(gchar), 8*sizeof(gchar),
(unsigned char*) (const char*) s, (unsigned char*) (const char*) s,
len ); len );
return; return;
} }
int size = data->GetDataSize( format ); int size = data->GetDataSize( format );
@@ -260,10 +260,10 @@ selection_handler( GtkWidget *WXUNUSED(widget), GtkSelectionData *selection_data
gtk_selection_data_set( gtk_selection_data_set(
selection_data, selection_data,
GDK_SELECTION_TYPE_STRING, GDK_SELECTION_TYPE_STRING,
8*sizeof(gchar), 8*sizeof(gchar),
(unsigned char*) d, (unsigned char*) d,
size ); size );
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -289,9 +289,9 @@ wxClipboard::wxClipboard()
gtk_signal_connect( GTK_OBJECT(m_targetsWidget), gtk_signal_connect( GTK_OBJECT(m_targetsWidget),
"selection_received", "selection_received",
GTK_SIGNAL_FUNC( targets_selection_received ), GTK_SIGNAL_FUNC( targets_selection_received ),
(gpointer) this ); (gpointer) this );
/* we use m_clipboardWidget to get and to offer data */ /* we use m_clipboardWidget to get and to offer data */
m_clipboardWidget = gtk_window_new( GTK_WINDOW_POPUP ); m_clipboardWidget = gtk_window_new( GTK_WINDOW_POPUP );
@@ -299,14 +299,14 @@ wxClipboard::wxClipboard()
gtk_signal_connect( GTK_OBJECT(m_clipboardWidget), gtk_signal_connect( GTK_OBJECT(m_clipboardWidget),
"selection_received", "selection_received",
GTK_SIGNAL_FUNC( selection_received ), GTK_SIGNAL_FUNC( selection_received ),
(gpointer) this ); (gpointer) this );
gtk_signal_connect( GTK_OBJECT(m_clipboardWidget), gtk_signal_connect( GTK_OBJECT(m_clipboardWidget),
"selection_clear_event", "selection_clear_event",
GTK_SIGNAL_FUNC( selection_clear_clip ), GTK_SIGNAL_FUNC( selection_clear_clip ),
(gpointer) NULL ); (gpointer) NULL );
if (!g_clipboardAtom) g_clipboardAtom = gdk_atom_intern( "CLIPBOARD", FALSE ); if (!g_clipboardAtom) g_clipboardAtom = gdk_atom_intern( "CLIPBOARD", FALSE );
if (!g_targetsAtom) g_targetsAtom = gdk_atom_intern ("TARGETS", FALSE); if (!g_targetsAtom) g_targetsAtom = gdk_atom_intern ("TARGETS", FALSE);
@@ -338,27 +338,27 @@ void wxClipboard::Clear()
if (gdk_selection_owner_get( g_clipboardAtom ) == m_clipboardWidget->window) if (gdk_selection_owner_get( g_clipboardAtom ) == m_clipboardWidget->window)
{ {
m_waiting = TRUE; m_waiting = TRUE;
gtk_selection_owner_set( (GtkWidget*) NULL, g_clipboardAtom, GDK_CURRENT_TIME ); gtk_selection_owner_set( (GtkWidget*) NULL, g_clipboardAtom, GDK_CURRENT_TIME );
while (m_waiting) gtk_main_iteration(); while (m_waiting) gtk_main_iteration();
} }
if (gdk_selection_owner_get( GDK_SELECTION_PRIMARY ) == m_clipboardWidget->window) if (gdk_selection_owner_get( GDK_SELECTION_PRIMARY ) == m_clipboardWidget->window)
{ {
m_waiting = TRUE; m_waiting = TRUE;
gtk_selection_owner_set( (GtkWidget*) NULL, GDK_SELECTION_PRIMARY, GDK_CURRENT_TIME ); gtk_selection_owner_set( (GtkWidget*) NULL, GDK_SELECTION_PRIMARY, GDK_CURRENT_TIME );
while (m_waiting) gtk_main_iteration(); while (m_waiting) gtk_main_iteration();
} }
if (m_data) if (m_data)
{ {
delete m_data; delete m_data;
m_data = (wxDataObject*) NULL; m_data = (wxDataObject*) NULL;
} }
#if wxUSE_THREADS #if wxUSE_THREADS
/* re-enable GUI threads */ /* re-enable GUI threads */
wxapp_install_thread_wakeup(); wxapp_install_thread_wakeup();
@@ -411,29 +411,29 @@ bool wxClipboard::AddData( wxDataObject *data )
for (size_t i = 0; i < m_data->GetFormatCount(); i++) for (size_t i = 0; i < m_data->GetFormatCount(); i++)
{ {
GdkAtom atom = array[i]; GdkAtom atom = array[i];
wxLogDebug( wxT("Clipboard Supported atom %s"), gdk_atom_name( atom ) ); wxLogDebug( wxT("Clipboard Supported atom %s"), gdk_atom_name( atom ) );
/* Add handlers if someone requests data. We currently always /* Add handlers if someone requests data. We currently always
offer data to the clipboard and the primary selection. Maybe offer data to the clipboard and the primary selection. Maybe
we should make that depend on the usePrimary flag */ we should make that depend on the usePrimary flag */
gtk_selection_add_target( GTK_WIDGET(m_clipboardWidget), gtk_selection_add_target( GTK_WIDGET(m_clipboardWidget),
GDK_SELECTION_PRIMARY, GDK_SELECTION_PRIMARY,
atom, atom,
0 ); /* what is info ? */ 0 ); /* what is info ? */
gtk_selection_add_target( GTK_WIDGET(m_clipboardWidget), gtk_selection_add_target( GTK_WIDGET(m_clipboardWidget),
g_clipboardAtom, g_clipboardAtom,
atom, atom,
0 ); /* what is info ? */ 0 ); /* what is info ? */
} }
delete[] array; delete[] array;
gtk_signal_connect( GTK_OBJECT(m_clipboardWidget), gtk_signal_connect( GTK_OBJECT(m_clipboardWidget),
"selection_get", "selection_get",
GTK_SIGNAL_FUNC(selection_handler), GTK_SIGNAL_FUNC(selection_handler),
(gpointer) NULL ); (gpointer) NULL );
#if wxUSE_THREADS #if wxUSE_THREADS
/* disable GUI threads */ /* disable GUI threads */
@@ -443,7 +443,7 @@ bool wxClipboard::AddData( wxDataObject *data )
/* Tell the world we offer clipboard data */ /* Tell the world we offer clipboard data */
if (!gtk_selection_owner_set( m_clipboardWidget, if (!gtk_selection_owner_set( m_clipboardWidget,
g_clipboardAtom, g_clipboardAtom,
GDK_CURRENT_TIME )) GDK_CURRENT_TIME ))
{ {
#if wxUSE_THREADS #if wxUSE_THREADS
/* re-enable GUI threads */ /* re-enable GUI threads */
@@ -455,7 +455,7 @@ bool wxClipboard::AddData( wxDataObject *data )
if (!gtk_selection_owner_set( m_clipboardWidget, if (!gtk_selection_owner_set( m_clipboardWidget,
GDK_SELECTION_PRIMARY, GDK_SELECTION_PRIMARY,
GDK_CURRENT_TIME )) GDK_CURRENT_TIME ))
{ {
#if wxUSE_THREADS #if wxUSE_THREADS
/* re-enable GUI threads */ /* re-enable GUI threads */
@@ -469,7 +469,7 @@ bool wxClipboard::AddData( wxDataObject *data )
/* re-enable GUI threads */ /* re-enable GUI threads */
wxapp_install_thread_wakeup(); wxapp_install_thread_wakeup();
#endif #endif
return TRUE; return TRUE;
} }
@@ -508,9 +508,10 @@ bool wxClipboard::IsSupported( const wxDataFormat& format )
m_waiting = TRUE; m_waiting = TRUE;
gtk_selection_convert( m_targetsWidget, gtk_selection_convert( m_targetsWidget,
m_usePrimary ? GDK_SELECTION_PRIMARY : g_clipboardAtom, m_usePrimary ? (GdkAtom)GDK_SELECTION_PRIMARY
g_targetsAtom, : g_clipboardAtom,
GDK_CURRENT_TIME ); g_targetsAtom,
GDK_CURRENT_TIME );
while (m_waiting) gtk_main_iteration(); while (m_waiting) gtk_main_iteration();
@@ -535,7 +536,7 @@ bool wxClipboard::GetData( wxDataObject& data )
/* is data supported by clipboard ? */ /* is data supported by clipboard ? */
if (!IsSupported( format )) if (!IsSupported( format ))
continue; continue;
/* store pointer to data object to be filled up by callbacks */ /* store pointer to data object to be filled up by callbacks */
m_receivedData = &data; m_receivedData = &data;
@@ -562,16 +563,17 @@ bool wxClipboard::GetData( wxDataObject& data )
wxLogDebug( wxT("wxClipboard::GetData: format found, start convert") ); wxLogDebug( wxT("wxClipboard::GetData: format found, start convert") );
gtk_selection_convert( m_clipboardWidget, gtk_selection_convert( m_clipboardWidget,
m_usePrimary ? GDK_SELECTION_PRIMARY : g_clipboardAtom, m_usePrimary ? (GdkAtom)GDK_SELECTION_PRIMARY
m_targetRequested, : g_clipboardAtom,
GDK_CURRENT_TIME ); m_targetRequested,
GDK_CURRENT_TIME );
while (m_waiting) gtk_main_iteration(); while (m_waiting) gtk_main_iteration();
/* this is a true error as we checked for the presence of such data before */ /* this is a true error as we checked for the presence of such data before */
wxCHECK_MSG( m_formatSupported, FALSE, wxT("error retrieving data from clipboard") ); wxCHECK_MSG( m_formatSupported, FALSE, wxT("error retrieving data from clipboard") );
/* return success */ /* return success */
delete[] array; delete[] array;
return TRUE; return TRUE;
} }