Tried to find thread/clipboard problem cause...

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2604 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
1999-05-31 19:16:11 +00:00
parent 28d2a709de
commit db2d879ad4
4 changed files with 18 additions and 22 deletions

View File

@@ -250,7 +250,7 @@ static gint wxapp_wakeup_timerout_callback( gpointer WXUNUSED(data) )
GDK_THREADS_LEAVE ();
#endif
wxTheApp->m_wakeUpTimerTag = gtk_timeout_add( 10, wxapp_wakeup_timerout_callback, (gpointer) NULL );
wxTheApp->m_wakeUpTimerTag = gtk_timeout_add( 20, wxapp_wakeup_timerout_callback, (gpointer) NULL );
return TRUE;
}
@@ -276,7 +276,7 @@ wxApp::wxApp()
m_idleTag = gtk_idle_add( wxapp_idle_callback, (gpointer) NULL );
#if wxUSE_THREADS
m_wakeUpTimerTag = gtk_timeout_add( 10, wxapp_wakeup_timerout_callback, (gpointer) NULL );
m_wakeUpTimerTag = gtk_timeout_add( 20, wxapp_wakeup_timerout_callback, (gpointer) NULL );
#endif
m_colorCube = (unsigned char*) NULL;

View File

@@ -231,8 +231,7 @@ selection_clear_clip( GtkWidget *WXUNUSED(widget), GdkEventSelection *event )
if ((!wxTheClipboard->m_ownsPrimarySelection) &&
(!wxTheClipboard->m_ownsClipboard))
{
/* the clipboard is no longer in our hands. we can the clipboard data. */
/* the clipboard is no longer in our hands. we can the delete clipboard data. */
if (wxTheClipboard->m_dataBroker)
{
delete wxTheClipboard->m_dataBroker;
@@ -445,27 +444,22 @@ bool wxClipboard::AddData( wxDataObject *data )
wxCHECK_MSG( data, FALSE, _T("data is invalid") );
/* if clipboard has been cleared before, create new data broker */
if (!m_dataBroker) m_dataBroker = new wxDataBroker();
/* add new data to list of offered data objects */
m_dataBroker->Add( data );
/* get native format id of new data object */
GdkAtom format = data->GetFormat().GetAtom();
wxCHECK_MSG( format, FALSE, _T("data has invalid format") );
/* This should happen automatically, but to be on the safe side */
m_ownsClipboard = FALSE;
m_ownsPrimarySelection = FALSE;
/* Add handlers if someone requests data */
#if (GTK_MINOR_VERSION > 0)
gtk_selection_add_target( GTK_WIDGET(m_clipboardWidget),
@@ -498,8 +492,8 @@ bool wxClipboard::AddData( wxDataObject *data )
(gpointer) NULL );
#endif
// printf( "vorher.\n" );
/* Tell the world we offer clipboard data */
if (!gtk_selection_owner_set( m_clipboardWidget,
g_clipboardAtom,
GDK_CURRENT_TIME ))
@@ -508,6 +502,10 @@ bool wxClipboard::AddData( wxDataObject *data )
}
m_ownsClipboard = TRUE;
// printf( "nachher.\n" );
return TRUE;
if (!gtk_selection_owner_set( m_clipboardWidget,
GDK_SELECTION_PRIMARY,
GDK_CURRENT_TIME ))

View File

@@ -250,7 +250,7 @@ static gint wxapp_wakeup_timerout_callback( gpointer WXUNUSED(data) )
GDK_THREADS_LEAVE ();
#endif
wxTheApp->m_wakeUpTimerTag = gtk_timeout_add( 10, wxapp_wakeup_timerout_callback, (gpointer) NULL );
wxTheApp->m_wakeUpTimerTag = gtk_timeout_add( 20, wxapp_wakeup_timerout_callback, (gpointer) NULL );
return TRUE;
}
@@ -276,7 +276,7 @@ wxApp::wxApp()
m_idleTag = gtk_idle_add( wxapp_idle_callback, (gpointer) NULL );
#if wxUSE_THREADS
m_wakeUpTimerTag = gtk_timeout_add( 10, wxapp_wakeup_timerout_callback, (gpointer) NULL );
m_wakeUpTimerTag = gtk_timeout_add( 20, wxapp_wakeup_timerout_callback, (gpointer) NULL );
#endif
m_colorCube = (unsigned char*) NULL;

View File

@@ -231,8 +231,7 @@ selection_clear_clip( GtkWidget *WXUNUSED(widget), GdkEventSelection *event )
if ((!wxTheClipboard->m_ownsPrimarySelection) &&
(!wxTheClipboard->m_ownsClipboard))
{
/* the clipboard is no longer in our hands. we can the clipboard data. */
/* the clipboard is no longer in our hands. we can the delete clipboard data. */
if (wxTheClipboard->m_dataBroker)
{
delete wxTheClipboard->m_dataBroker;
@@ -445,27 +444,22 @@ bool wxClipboard::AddData( wxDataObject *data )
wxCHECK_MSG( data, FALSE, _T("data is invalid") );
/* if clipboard has been cleared before, create new data broker */
if (!m_dataBroker) m_dataBroker = new wxDataBroker();
/* add new data to list of offered data objects */
m_dataBroker->Add( data );
/* get native format id of new data object */
GdkAtom format = data->GetFormat().GetAtom();
wxCHECK_MSG( format, FALSE, _T("data has invalid format") );
/* This should happen automatically, but to be on the safe side */
m_ownsClipboard = FALSE;
m_ownsPrimarySelection = FALSE;
/* Add handlers if someone requests data */
#if (GTK_MINOR_VERSION > 0)
gtk_selection_add_target( GTK_WIDGET(m_clipboardWidget),
@@ -498,8 +492,8 @@ bool wxClipboard::AddData( wxDataObject *data )
(gpointer) NULL );
#endif
// printf( "vorher.\n" );
/* Tell the world we offer clipboard data */
if (!gtk_selection_owner_set( m_clipboardWidget,
g_clipboardAtom,
GDK_CURRENT_TIME ))
@@ -508,6 +502,10 @@ bool wxClipboard::AddData( wxDataObject *data )
}
m_ownsClipboard = TRUE;
// printf( "nachher.\n" );
return TRUE;
if (!gtk_selection_owner_set( m_clipboardWidget,
GDK_SELECTION_PRIMARY,
GDK_CURRENT_TIME ))