Add a destroy notify for the callback data. (#344209, Murray Cumming)

2006-06-07  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.h:
        * gtk/gtknotebook.c (gtk_notebook_set_window_creation_hook):
        Add a destroy notify for the callback data.  (#344209,
        Murray Cumming)
This commit is contained in:
Matthias Clasen 2006-06-08 00:17:00 +00:00 committed by Matthias Clasen
parent b92f15dfe9
commit 7843d8b478
4 changed files with 26 additions and 4 deletions

View File

@ -1,3 +1,10 @@
2006-06-07 Matthias Clasen <mclasen@redhat.com>
* gtk/gtknotebook.h:
* gtk/gtknotebook.c (gtk_notebook_set_window_creation_hook):
Add a destroy notify for the callback data. (#344209,
Murray Cumming)
2006-06-07 Jürg Billeter <j@bitron.ch> 2006-06-07 Jürg Billeter <j@bitron.ch>
* gtk/Makefile.am: Fix building gtkbuiltincache.h without system GTK+. * gtk/Makefile.am: Fix building gtkbuiltincache.h without system GTK+.

View File

@ -1,3 +1,10 @@
2006-06-07 Matthias Clasen <mclasen@redhat.com>
* gtk/gtknotebook.h:
* gtk/gtknotebook.c (gtk_notebook_set_window_creation_hook):
Add a destroy notify for the callback data. (#344209,
Murray Cumming)
2006-06-07 Jürg Billeter <j@bitron.ch> 2006-06-07 Jürg Billeter <j@bitron.ch>
* gtk/Makefile.am: Fix building gtkbuiltincache.h without system GTK+. * gtk/Makefile.am: Fix building gtkbuiltincache.h without system GTK+.

View File

@ -397,6 +397,7 @@ static void stop_scrolling (GtkNotebook *notebook);
static GtkNotebookWindowCreationFunc window_creation_hook = NULL; static GtkNotebookWindowCreationFunc window_creation_hook = NULL;
static gpointer window_creation_hook_data; static gpointer window_creation_hook_data;
static GDestroyNotify window_creation_hook_destroy = NULL;
static guint notebook_signals[LAST_SIGNAL] = { 0 }; static guint notebook_signals[LAST_SIGNAL] = { 0 };
@ -7142,8 +7143,9 @@ gtk_notebook_reorder_child (GtkNotebook *notebook,
/** /**
* gtk_notebook_set_window_creation_hook: * gtk_notebook_set_window_creation_hook:
* @func: the #GtkNotebookWindowCreationFunc, or NULL * @func: the #GtkNotebookWindowCreationFunc, or %NULL
* @data: user data for @func. * @data: user data for @func
* @destroy: Destroy notifier for @data, or %NULL
* *
* Installs a global function used to create a window * Installs a global function used to create a window
* when a detached tab is dropped in an empty area. * when a detached tab is dropped in an empty area.
@ -7152,10 +7154,15 @@ gtk_notebook_reorder_child (GtkNotebook *notebook,
**/ **/
void void
gtk_notebook_set_window_creation_hook (GtkNotebookWindowCreationFunc func, gtk_notebook_set_window_creation_hook (GtkNotebookWindowCreationFunc func,
gpointer data) gpointer data,
GDestroyNotify destroy)
{ {
if (window_creation_hook_destroy)
window_creation_hook_destroy (window_creation_hook_data);
window_creation_hook = func; window_creation_hook = func;
window_creation_hook_data = data; window_creation_hook_data = data;
window_creation_hook_destroy = destroy;
} }
/** /**

View File

@ -163,7 +163,8 @@ void gtk_notebook_remove_page (GtkNotebook *notebook,
***********************************************************/ ***********************************************************/
void gtk_notebook_set_window_creation_hook (GtkNotebookWindowCreationFunc func, void gtk_notebook_set_window_creation_hook (GtkNotebookWindowCreationFunc func,
gpointer data); gpointer data,
GDestroyNotify destroy);
void gtk_notebook_set_group_id (GtkNotebook *notebook, void gtk_notebook_set_group_id (GtkNotebook *notebook,
gint group_id); gint group_id);
gint gtk_notebook_get_group_id (GtkNotebook *notebook); gint gtk_notebook_get_group_id (GtkNotebook *notebook);