block signal handlers, instead of disconnecting, to temporarily disable them

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46982 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Paul Cornett
2007-06-27 17:38:13 +00:00
parent ab29bb87b2
commit 9826452012
6 changed files with 49 additions and 62 deletions

View File

@@ -294,26 +294,22 @@ int wxNotebook::DoSetSelection( size_t page, int flags )
if ( !(flags & SetSelection_SendEvent) )
{
g_signal_handlers_disconnect_by_func (m_widget,
(gpointer) gtk_notebook_page_changing_callback,
this);
g_signal_handlers_block_by_func(m_widget,
(gpointer)gtk_notebook_page_changing_callback, this);
g_signal_handlers_disconnect_by_func (m_widget,
(gpointer) gtk_notebook_page_changed_callback,
this);
g_signal_handlers_block_by_func(m_widget,
(gpointer)gtk_notebook_page_changed_callback, this);
}
gtk_notebook_set_current_page( GTK_NOTEBOOK(m_widget), page );
if ( !(flags & SetSelection_SendEvent) )
{
// reconnect to signals
g_signal_handlers_unblock_by_func(m_widget,
(gpointer)gtk_notebook_page_changing_callback, this);
g_signal_connect (m_widget, "switch_page",
G_CALLBACK (gtk_notebook_page_changing_callback), this);
g_signal_connect_after (m_widget, "switch_page",
G_CALLBACK (gtk_notebook_page_changed_callback), this);
g_signal_handlers_unblock_by_func(m_widget,
(gpointer)gtk_notebook_page_changed_callback, this);
}
wxNotebookPage *client = GetPage(page);