diff --git a/ChangeLog b/ChangeLog index e98872f38f..75cc8c3695 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-03-29 Matthias Clasen + + * gtk/gtknotebook.c (gtk_notebook_real_insert_page): Emit + page-added before switch-page. (#335691, Christian Persch) + 2006-03-29 Matthias Clasen * gtk/gtkfilechooserdefault.c (queue_edited_idle): Handle diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index e98872f38f..75cc8c3695 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2006-03-29 Matthias Clasen + + * gtk/gtknotebook.c (gtk_notebook_real_insert_page): Emit + page-added before switch-page. (#335691, Christian Persch) + 2006-03-29 Matthias Clasen * gtk/gtkfilechooserdefault.c (queue_edited_idle): Handle diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index 54bef0845f..27fef2a95c 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -3662,25 +3662,31 @@ gtk_notebook_real_insert_page (GtkNotebook *notebook, gtk_widget_show (tab_label); else gtk_widget_hide (tab_label); + + page->mnemonic_activate_signal = + g_signal_connect (tab_label, + "mnemonic_activate", + G_CALLBACK (gtk_notebook_mnemonic_activate_switch_page), + notebook); } + page->notify_visible_handler = g_signal_connect (child, "notify::visible", + G_CALLBACK (page_visible_cb), notebook); + + g_signal_emit (notebook, + notebook_signals[PAGE_ADDED], + 0, + child, + position); + if (!notebook->cur_page) { gtk_notebook_switch_page (notebook, page, 0); gtk_notebook_switch_focus_tab (notebook, NULL); } - page->notify_visible_handler = g_signal_connect (G_OBJECT (child), "notify::visible", - G_CALLBACK (page_visible_cb), notebook); gtk_notebook_update_tab_states (notebook); - if (tab_label) - page->mnemonic_activate_signal = - g_signal_connect (tab_label, - "mnemonic_activate", - G_CALLBACK (gtk_notebook_mnemonic_activate_switch_page), - notebook); - gtk_widget_child_notify (child, "tab-expand"); gtk_widget_child_notify (child, "tab-fill"); gtk_widget_child_notify (child, "tab-pack"); @@ -3689,12 +3695,6 @@ gtk_notebook_real_insert_page (GtkNotebook *notebook, gtk_widget_child_notify (child, "position"); gtk_widget_thaw_child_notify (child); - g_signal_emit (notebook, - notebook_signals[PAGE_ADDED], - 0, - child, - position); - return position; }