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:
@@ -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;
|
||||
|
@@ -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 ))
|
||||
|
@@ -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;
|
||||
|
@@ -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 ))
|
||||
|
Reference in New Issue
Block a user