forked from AuroraMiddleware/gtk
replaced some gtk_object_data_force_id with g_quark_from_static_string
Fri Jun 19 03:29:04 1998 Tim Janik <timj@gtk.org> * gtk/gtkaccelgroup.c: * gtk/gtkbindings.c: * gtk/gtkcontainer.c: * gtk/gtkitemfactory.c: * gtk/gtkobject.c: * gtk/gtksignal.c: * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with g_quark_from_static_string calls to save memory. * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy function _after_ the new data has been setup. minor changes to object data functions to feature the GQuark type.
This commit is contained in:
parent
913831b26f
commit
3c90c2cd53
15
ChangeLog
15
ChangeLog
@ -1,3 +1,18 @@
|
||||
Fri Jun 19 03:29:04 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelgroup.c:
|
||||
* gtk/gtkbindings.c:
|
||||
* gtk/gtkcontainer.c:
|
||||
* gtk/gtkitemfactory.c:
|
||||
* gtk/gtkobject.c:
|
||||
* gtk/gtksignal.c:
|
||||
* gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
|
||||
g_quark_from_static_string calls to save memory.
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
|
||||
function _after_ the new data has been setup.
|
||||
minor changes to object data functions to feature the GQuark type.
|
||||
|
||||
Thu Jun 18 21:13:54 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
|
||||
|
@ -1,3 +1,18 @@
|
||||
Fri Jun 19 03:29:04 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelgroup.c:
|
||||
* gtk/gtkbindings.c:
|
||||
* gtk/gtkcontainer.c:
|
||||
* gtk/gtkitemfactory.c:
|
||||
* gtk/gtkobject.c:
|
||||
* gtk/gtksignal.c:
|
||||
* gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
|
||||
g_quark_from_static_string calls to save memory.
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
|
||||
function _after_ the new data has been setup.
|
||||
minor changes to object data functions to feature the GQuark type.
|
||||
|
||||
Thu Jun 18 21:13:54 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
|
||||
|
@ -1,3 +1,18 @@
|
||||
Fri Jun 19 03:29:04 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelgroup.c:
|
||||
* gtk/gtkbindings.c:
|
||||
* gtk/gtkcontainer.c:
|
||||
* gtk/gtkitemfactory.c:
|
||||
* gtk/gtkobject.c:
|
||||
* gtk/gtksignal.c:
|
||||
* gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
|
||||
g_quark_from_static_string calls to save memory.
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
|
||||
function _after_ the new data has been setup.
|
||||
minor changes to object data functions to feature the GQuark type.
|
||||
|
||||
Thu Jun 18 21:13:54 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
|
||||
|
@ -1,3 +1,18 @@
|
||||
Fri Jun 19 03:29:04 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelgroup.c:
|
||||
* gtk/gtkbindings.c:
|
||||
* gtk/gtkcontainer.c:
|
||||
* gtk/gtkitemfactory.c:
|
||||
* gtk/gtkobject.c:
|
||||
* gtk/gtksignal.c:
|
||||
* gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
|
||||
g_quark_from_static_string calls to save memory.
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
|
||||
function _after_ the new data has been setup.
|
||||
minor changes to object data functions to feature the GQuark type.
|
||||
|
||||
Thu Jun 18 21:13:54 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
|
||||
|
@ -1,3 +1,18 @@
|
||||
Fri Jun 19 03:29:04 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelgroup.c:
|
||||
* gtk/gtkbindings.c:
|
||||
* gtk/gtkcontainer.c:
|
||||
* gtk/gtkitemfactory.c:
|
||||
* gtk/gtkobject.c:
|
||||
* gtk/gtksignal.c:
|
||||
* gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
|
||||
g_quark_from_static_string calls to save memory.
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
|
||||
function _after_ the new data has been setup.
|
||||
minor changes to object data functions to feature the GQuark type.
|
||||
|
||||
Thu Jun 18 21:13:54 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
|
||||
|
@ -1,3 +1,18 @@
|
||||
Fri Jun 19 03:29:04 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelgroup.c:
|
||||
* gtk/gtkbindings.c:
|
||||
* gtk/gtkcontainer.c:
|
||||
* gtk/gtkitemfactory.c:
|
||||
* gtk/gtkobject.c:
|
||||
* gtk/gtksignal.c:
|
||||
* gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
|
||||
g_quark_from_static_string calls to save memory.
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
|
||||
function _after_ the new data has been setup.
|
||||
minor changes to object data functions to feature the GQuark type.
|
||||
|
||||
Thu Jun 18 21:13:54 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
|
||||
|
@ -1,3 +1,18 @@
|
||||
Fri Jun 19 03:29:04 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelgroup.c:
|
||||
* gtk/gtkbindings.c:
|
||||
* gtk/gtkcontainer.c:
|
||||
* gtk/gtkitemfactory.c:
|
||||
* gtk/gtkobject.c:
|
||||
* gtk/gtksignal.c:
|
||||
* gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
|
||||
g_quark_from_static_string calls to save memory.
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
|
||||
function _after_ the new data has been setup.
|
||||
minor changes to object data functions to feature the GQuark type.
|
||||
|
||||
Thu Jun 18 21:13:54 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
|
||||
|
@ -94,8 +94,8 @@ gtk_accel_group_new (void)
|
||||
|
||||
if (!accel_groups_key_id)
|
||||
{
|
||||
accel_groups_key_id = gtk_object_data_force_id (accel_groups_key);
|
||||
accel_entries_key_id = gtk_object_data_force_id (accel_entries_key);
|
||||
accel_groups_key_id = g_quark_from_static_string (accel_groups_key);
|
||||
accel_entries_key_id = g_quark_from_static_string (accel_entries_key);
|
||||
|
||||
accel_entry_hash_table = g_hash_table_new (gtk_accel_entries_hash,
|
||||
gtk_accel_entries_equal);
|
||||
|
@ -35,7 +35,7 @@
|
||||
static GHashTable *binding_entry_hash_table = NULL;
|
||||
static GSList *binding_set_list = NULL;
|
||||
static const gchar *key_class_binding_set = "gtk-class-binding-set";
|
||||
static guint key_id_class_binding_set = 0;
|
||||
static GQuark key_id_class_binding_set = 0;
|
||||
|
||||
|
||||
/* --- functions --- */
|
||||
@ -424,7 +424,7 @@ gtk_binding_set_by_class (gpointer object_class)
|
||||
g_return_val_if_fail (GTK_IS_OBJECT_CLASS (class), NULL);
|
||||
|
||||
if (!key_id_class_binding_set)
|
||||
key_id_class_binding_set = g_dataset_force_id (key_class_binding_set);
|
||||
key_id_class_binding_set = g_quark_from_static_string (key_class_binding_set);
|
||||
|
||||
binding_set = g_dataset_id_get_data (class, key_id_class_binding_set);
|
||||
|
||||
|
@ -164,8 +164,8 @@ gtk_container_class_init (GtkContainerClass *class)
|
||||
|
||||
parent_class = gtk_type_class (gtk_widget_get_type ());
|
||||
|
||||
vadjustment_key_id = gtk_object_data_force_id (vadjustment_key);
|
||||
hadjustment_key_id = gtk_object_data_force_id (hadjustment_key);
|
||||
vadjustment_key_id = g_quark_from_static_string (vadjustment_key);
|
||||
hadjustment_key_id = g_quark_from_static_string (hadjustment_key);
|
||||
|
||||
gtk_object_add_arg_type ("GtkContainer::border_width", GTK_TYPE_ULONG, GTK_ARG_READWRITE, ARG_BORDER_WIDTH);
|
||||
gtk_object_add_arg_type ("GtkContainer::child", GTK_TYPE_WIDGET, GTK_ARG_WRITABLE, ARG_CHILD);
|
||||
|
@ -81,29 +81,29 @@ static const gchar *item_factory_string = "Gtk-<ItemFactory>";
|
||||
static GMemChunk *ifactory_item_chunks = NULL;
|
||||
static GMemChunk *ifactory_cb_data_chunks = NULL;
|
||||
static const gchar *key_popup_data = "GtkItemFactory-popup-data";
|
||||
static guint key_id_popup_data = 0;
|
||||
static GQuark quark_popup_data = 0;
|
||||
static const gchar *key_if_menu_pos = "GtkItemFactory-menu-position";
|
||||
static guint key_id_if_menu_pos = 0;
|
||||
static GQuark quark_if_menu_pos = 0;
|
||||
static const gchar *key_item_factory = "GtkItemFactory";
|
||||
static guint key_id_item_factory = 0;
|
||||
static GQuark quark_item_factory = 0;
|
||||
static const gchar *key_item_factory_path = "GtkItemFactory-path";
|
||||
static guint key_id_item_factory_path = 0;
|
||||
static GQuark quark_item_factory_path = 0;
|
||||
static const gchar *key_type_item = "<Item>";
|
||||
static guint key_id_type_item = 0;
|
||||
static GQuark quark_type_item = 0;
|
||||
static const gchar *key_type_title = "<Title>";
|
||||
static guint key_id_type_title = 0;
|
||||
static GQuark quark_type_title = 0;
|
||||
static const gchar *key_type_radio_item = "<RadioItem>";
|
||||
static guint key_id_type_radio_item = 0;
|
||||
static GQuark quark_type_radio_item = 0;
|
||||
static const gchar *key_type_check_item = "<CheckItem>";
|
||||
static guint key_id_type_check_item = 0;
|
||||
static GQuark quark_type_check_item = 0;
|
||||
static const gchar *key_type_toggle_item = "<ToggleItem>";
|
||||
static guint key_id_type_toggle_item = 0;
|
||||
static GQuark quark_type_toggle_item = 0;
|
||||
static const gchar *key_type_separator_item = "<Separator>";
|
||||
static guint key_id_type_separator_item = 0;
|
||||
static GQuark quark_type_separator_item = 0;
|
||||
static const gchar *key_type_branch = "<Branch>";
|
||||
static guint key_id_type_branch = 0;
|
||||
static GQuark quark_type_branch = 0;
|
||||
static const gchar *key_type_last_branch = "<LastBranch>";
|
||||
static guint key_id_type_last_branch = 0;
|
||||
static GQuark quark_type_last_branch = 0;
|
||||
static GScannerConfig ifactory_scanner_config =
|
||||
{
|
||||
(
|
||||
@ -200,18 +200,18 @@ gtk_item_factory_class_init (GtkItemFactoryClass *class)
|
||||
sizeof (GtkIFCBData) * ITEM_BLOCK_SIZE,
|
||||
G_ALLOC_AND_FREE);
|
||||
|
||||
key_id_popup_data = gtk_object_data_force_id (key_popup_data);
|
||||
key_id_if_menu_pos = gtk_object_data_force_id (key_if_menu_pos);
|
||||
key_id_item_factory = gtk_object_data_force_id (key_item_factory);
|
||||
key_id_item_factory_path = gtk_object_data_force_id (key_item_factory_path);
|
||||
key_id_type_item = gtk_object_data_force_id (key_type_item);
|
||||
key_id_type_title = gtk_object_data_force_id (key_type_title);
|
||||
key_id_type_radio_item = gtk_object_data_force_id (key_type_radio_item);
|
||||
key_id_type_check_item = gtk_object_data_force_id (key_type_check_item);
|
||||
key_id_type_toggle_item = gtk_object_data_force_id (key_type_toggle_item);
|
||||
key_id_type_separator_item = gtk_object_data_force_id (key_type_separator_item);
|
||||
key_id_type_branch = gtk_object_data_force_id (key_type_branch);
|
||||
key_id_type_last_branch = gtk_object_data_force_id (key_type_last_branch);
|
||||
quark_popup_data = g_quark_from_static_string (key_popup_data);
|
||||
quark_if_menu_pos = g_quark_from_static_string (key_if_menu_pos);
|
||||
quark_item_factory = g_quark_from_static_string (key_item_factory);
|
||||
quark_item_factory_path = g_quark_from_static_string (key_item_factory_path);
|
||||
quark_type_item = g_quark_from_static_string (key_type_item);
|
||||
quark_type_title = g_quark_from_static_string (key_type_title);
|
||||
quark_type_radio_item = g_quark_from_static_string (key_type_radio_item);
|
||||
quark_type_check_item = g_quark_from_static_string (key_type_check_item);
|
||||
quark_type_toggle_item = g_quark_from_static_string (key_type_toggle_item);
|
||||
quark_type_separator_item = g_quark_from_static_string (key_type_separator_item);
|
||||
quark_type_branch = g_quark_from_static_string (key_type_branch);
|
||||
quark_type_last_branch = g_quark_from_static_string (key_type_last_branch);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -388,8 +388,8 @@ gtk_item_factory_item_remove_widget (GtkWidget *widget,
|
||||
GtkItemFactoryItem *item)
|
||||
{
|
||||
item->widgets = g_slist_remove (item->widgets, widget);
|
||||
gtk_object_remove_data_by_id (GTK_OBJECT (widget), key_id_item_factory);
|
||||
gtk_object_remove_data_by_id (GTK_OBJECT (widget), key_id_item_factory_path);
|
||||
gtk_object_remove_data_by_id (GTK_OBJECT (widget), quark_item_factory);
|
||||
gtk_object_remove_data_by_id (GTK_OBJECT (widget), quark_item_factory_path);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -469,8 +469,8 @@ gtk_item_factory_add_item (GtkItemFactory *ifactory,
|
||||
|
||||
/* set back pointers for the widget
|
||||
*/
|
||||
gtk_object_set_data_by_id (GTK_OBJECT (widget), key_id_item_factory, ifactory);
|
||||
gtk_object_set_data_by_id (GTK_OBJECT (widget), key_id_item_factory_path, item->path);
|
||||
gtk_object_set_data_by_id (GTK_OBJECT (widget), quark_item_factory, ifactory);
|
||||
gtk_object_set_data_by_id (GTK_OBJECT (widget), quark_item_factory_path, item->path);
|
||||
gtk_widget_set_name (widget, item->path);
|
||||
|
||||
/* set accelerator group on menu widgets
|
||||
@ -678,7 +678,7 @@ gtk_item_factory_from_widget (GtkWidget *widget)
|
||||
g_return_val_if_fail (widget != NULL, NULL);
|
||||
g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
|
||||
|
||||
return gtk_object_get_data_by_id (GTK_OBJECT (widget), key_id_item_factory);
|
||||
return gtk_object_get_data_by_id (GTK_OBJECT (widget), quark_item_factory);
|
||||
}
|
||||
|
||||
gchar*
|
||||
@ -687,7 +687,7 @@ gtk_item_factory_path_from_widget (GtkWidget *widget)
|
||||
g_return_val_if_fail (widget != NULL, NULL);
|
||||
g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
|
||||
|
||||
return gtk_object_get_data_by_id (GTK_OBJECT (widget), key_id_item_factory_path);
|
||||
return gtk_object_get_data_by_id (GTK_OBJECT (widget), quark_item_factory_path);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -903,7 +903,7 @@ gtk_item_factory_create_item (GtkItemFactory *ifactory,
|
||||
entry->item_type[0] == 0)
|
||||
{
|
||||
item_type_path = (gpointer) key_type_item;
|
||||
type_id = key_id_type_item;
|
||||
type_id = quark_type_item;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -912,21 +912,21 @@ gtk_item_factory_create_item (GtkItemFactory *ifactory,
|
||||
}
|
||||
|
||||
radio_group = NULL;
|
||||
if (type_id == key_id_type_item)
|
||||
if (type_id == quark_type_item)
|
||||
type = GTK_TYPE_MENU_ITEM;
|
||||
else if (type_id == key_id_type_title)
|
||||
else if (type_id == quark_type_title)
|
||||
type = GTK_TYPE_MENU_ITEM;
|
||||
else if (type_id == key_id_type_radio_item)
|
||||
else if (type_id == quark_type_radio_item)
|
||||
type = GTK_TYPE_RADIO_MENU_ITEM;
|
||||
else if (type_id == key_id_type_check_item)
|
||||
else if (type_id == quark_type_check_item)
|
||||
type = GTK_TYPE_CHECK_MENU_ITEM;
|
||||
else if (type_id == key_id_type_toggle_item)
|
||||
else if (type_id == quark_type_toggle_item)
|
||||
type = GTK_TYPE_CHECK_MENU_ITEM;
|
||||
else if (type_id == key_id_type_separator_item)
|
||||
else if (type_id == quark_type_separator_item)
|
||||
type = GTK_TYPE_MENU_ITEM;
|
||||
else if (type_id == key_id_type_branch)
|
||||
else if (type_id == quark_type_branch)
|
||||
type = GTK_TYPE_MENU_ITEM;
|
||||
else if (type_id == key_id_type_last_branch)
|
||||
else if (type_id == quark_type_last_branch)
|
||||
type = GTK_TYPE_MENU_ITEM;
|
||||
else
|
||||
{
|
||||
@ -980,8 +980,8 @@ gtk_item_factory_create_item (GtkItemFactory *ifactory,
|
||||
|
||||
widget = gtk_widget_new (type,
|
||||
"GtkWidget::visible", TRUE,
|
||||
"GtkWidget::sensitive", (type_id != key_id_type_separator_item &&
|
||||
type_id != key_id_type_title),
|
||||
"GtkWidget::sensitive", (type_id != quark_type_separator_item &&
|
||||
type_id != quark_type_title),
|
||||
"GtkWidget::parent", parent,
|
||||
NULL);
|
||||
|
||||
@ -990,7 +990,7 @@ gtk_item_factory_create_item (GtkItemFactory *ifactory,
|
||||
if (GTK_IS_CHECK_MENU_ITEM (widget))
|
||||
gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (widget), TRUE);
|
||||
|
||||
if (type_id != key_id_type_separator_item && *p)
|
||||
if (type_id != quark_type_separator_item && *p)
|
||||
{
|
||||
GtkWidget *label;
|
||||
|
||||
@ -1003,10 +1003,10 @@ gtk_item_factory_create_item (GtkItemFactory *ifactory,
|
||||
"GtkMisc::xalign", 0.0,
|
||||
NULL);
|
||||
}
|
||||
if (type_id == key_id_type_branch ||
|
||||
type_id == key_id_type_last_branch)
|
||||
if (type_id == quark_type_branch ||
|
||||
type_id == quark_type_last_branch)
|
||||
{
|
||||
if (type_id == key_id_type_last_branch)
|
||||
if (type_id == quark_type_last_branch)
|
||||
gtk_menu_item_right_justify (GTK_MENU_ITEM (widget));
|
||||
|
||||
parent = widget;
|
||||
@ -1242,7 +1242,7 @@ gtk_item_factory_popup_data_from_widget (GtkWidget *widget)
|
||||
|
||||
ifactory = gtk_item_factory_from_widget (widget);
|
||||
if (ifactory)
|
||||
return gtk_object_get_data_by_id (GTK_OBJECT (ifactory), key_id_popup_data);
|
||||
return gtk_object_get_data_by_id (GTK_OBJECT (ifactory), quark_popup_data);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
@ -1253,7 +1253,7 @@ gtk_item_factory_popup_data (GtkItemFactory *ifactory)
|
||||
g_return_val_if_fail (ifactory != NULL, NULL);
|
||||
g_return_val_if_fail (GTK_IS_ITEM_FACTORY (ifactory), NULL);
|
||||
|
||||
return gtk_object_get_data_by_id (GTK_OBJECT (ifactory), key_id_popup_data);
|
||||
return gtk_object_get_data_by_id (GTK_OBJECT (ifactory), quark_popup_data);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -1263,7 +1263,7 @@ ifactory_delete_popup_data (GtkObject *object,
|
||||
gtk_signal_disconnect_by_func (object,
|
||||
GTK_SIGNAL_FUNC (ifactory_delete_popup_data),
|
||||
ifactory);
|
||||
gtk_object_remove_data_by_id (GTK_OBJECT (ifactory), key_id_popup_data);
|
||||
gtk_object_remove_data_by_id (GTK_OBJECT (ifactory), quark_popup_data);
|
||||
}
|
||||
|
||||
void
|
||||
@ -1293,13 +1293,13 @@ gtk_item_factory_popup_with_data (GtkItemFactory *ifactory,
|
||||
{
|
||||
MenuPos *mpos;
|
||||
|
||||
mpos = gtk_object_get_data_by_id (GTK_OBJECT (ifactory->widget), key_id_if_menu_pos);
|
||||
mpos = gtk_object_get_data_by_id (GTK_OBJECT (ifactory->widget), quark_if_menu_pos);
|
||||
|
||||
if (!mpos)
|
||||
{
|
||||
mpos = g_new0 (MenuPos, 1);
|
||||
gtk_object_set_data_by_id_full (GTK_OBJECT (ifactory->widget),
|
||||
key_id_if_menu_pos,
|
||||
quark_if_menu_pos,
|
||||
mpos,
|
||||
g_free);
|
||||
}
|
||||
@ -1310,7 +1310,7 @@ gtk_item_factory_popup_with_data (GtkItemFactory *ifactory,
|
||||
if (popup_data != NULL)
|
||||
{
|
||||
gtk_object_set_data_by_id_full (GTK_OBJECT (ifactory),
|
||||
key_id_popup_data,
|
||||
quark_popup_data,
|
||||
popup_data,
|
||||
destroy);
|
||||
gtk_signal_connect (GTK_OBJECT (ifactory->widget),
|
||||
|
@ -539,7 +539,7 @@ gtk_object_weakref (GtkObject *object,
|
||||
g_return_if_fail (GTK_IS_OBJECT (object));
|
||||
|
||||
if (!weakrefs_key_id)
|
||||
weakrefs_key_id = gtk_object_data_force_id (weakrefs_key);
|
||||
weakrefs_key_id = g_quark_from_static_string (weakrefs_key);
|
||||
|
||||
weak = g_new (GtkWeakRef, 1);
|
||||
weak->next = gtk_object_get_data_by_id (object, weakrefs_key_id);
|
||||
@ -1046,7 +1046,7 @@ gtk_object_get_arg_type (const gchar *arg_name)
|
||||
|
||||
void
|
||||
gtk_object_set_data_by_id (GtkObject *object,
|
||||
guint data_id,
|
||||
GQuark data_id,
|
||||
gpointer data)
|
||||
{
|
||||
g_return_if_fail (data_id > 0);
|
||||
@ -1066,7 +1066,7 @@ gtk_object_set_data (GtkObject *object,
|
||||
|
||||
void
|
||||
gtk_object_set_data_by_id_full (GtkObject *object,
|
||||
guint data_id,
|
||||
GQuark data_id,
|
||||
gpointer data,
|
||||
GtkDestroyNotify destroy)
|
||||
{
|
||||
@ -1093,7 +1093,7 @@ gtk_object_set_data_by_id_full (GtkObject *object,
|
||||
object->object_data = odata->next;
|
||||
|
||||
GTK_OBJECT_DATA_DESTROY (odata);
|
||||
break;
|
||||
return;
|
||||
}
|
||||
|
||||
prev = odata;
|
||||
@ -1102,36 +1102,28 @@ gtk_object_set_data_by_id_full (GtkObject *object,
|
||||
}
|
||||
else
|
||||
{
|
||||
GtkObjectData *prev;
|
||||
|
||||
prev = NULL;
|
||||
|
||||
while (odata)
|
||||
{
|
||||
if (odata->id == data_id)
|
||||
{
|
||||
/* we need to be unlinked while invoking the destroy function
|
||||
*/
|
||||
if (odata->destroy)
|
||||
{
|
||||
if (prev)
|
||||
prev->next = odata->next;
|
||||
else
|
||||
object->object_data = odata->next;
|
||||
|
||||
odata->destroy (odata->data);
|
||||
|
||||
odata->next = object->object_data;
|
||||
object->object_data = odata;
|
||||
}
|
||||
|
||||
odata->data = data;
|
||||
register GtkDestroyNotify dfunc;
|
||||
register gpointer ddata;
|
||||
|
||||
dfunc = odata->destroy;
|
||||
ddata = odata->data;
|
||||
odata->destroy = destroy;
|
||||
odata->data = data;
|
||||
|
||||
/* we need to have updated all structures prior to
|
||||
* invokation of the destroy function
|
||||
*/
|
||||
if (dfunc)
|
||||
dfunc (ddata);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
prev = odata;
|
||||
odata = prev->next;
|
||||
odata = odata->next;
|
||||
}
|
||||
|
||||
if (gtk_object_data_free_list)
|
||||
@ -1176,7 +1168,7 @@ gtk_object_set_data_full (GtkObject *object,
|
||||
|
||||
gpointer
|
||||
gtk_object_get_data_by_id (GtkObject *object,
|
||||
guint data_id)
|
||||
GQuark data_id)
|
||||
{
|
||||
GtkObjectData *odata;
|
||||
|
||||
@ -1214,7 +1206,7 @@ gtk_object_get_data (GtkObject *object,
|
||||
|
||||
void
|
||||
gtk_object_remove_data_by_id (GtkObject *object,
|
||||
guint data_id)
|
||||
GQuark data_id)
|
||||
{
|
||||
if (data_id)
|
||||
gtk_object_set_data_by_id_full (object, data_id, NULL, NULL);
|
||||
@ -1246,7 +1238,7 @@ gtk_object_set_user_data (GtkObject *object,
|
||||
gpointer data)
|
||||
{
|
||||
if (!user_data_key_id)
|
||||
user_data_key_id = gtk_object_data_force_id (user_data_key);
|
||||
user_data_key_id = g_quark_from_static_string (user_data_key);
|
||||
|
||||
gtk_object_set_data_by_id_full (object, user_data_key_id, data, NULL);
|
||||
}
|
||||
|
@ -343,18 +343,18 @@ void gtk_object_remove_data (GtkObject *object,
|
||||
* These functions are meant for *internal* use only.
|
||||
*/
|
||||
void gtk_object_set_data_by_id (GtkObject *object,
|
||||
guint data_id,
|
||||
GQuark data_id,
|
||||
gpointer data);
|
||||
void gtk_object_set_data_by_id_full (GtkObject *object,
|
||||
guint data_id,
|
||||
GQuark data_id,
|
||||
gpointer data,
|
||||
GtkDestroyNotify destroy);
|
||||
gpointer gtk_object_get_data_by_id (GtkObject *object,
|
||||
guint data_id);
|
||||
GQuark data_id);
|
||||
void gtk_object_remove_data_by_id (GtkObject *object,
|
||||
guint data_id);
|
||||
#define gtk_object_data_try_key g_dataset_try_key
|
||||
#define gtk_object_data_force_id g_dataset_force_id
|
||||
GQuark data_id);
|
||||
#define gtk_object_data_try_key g_quark_try_string
|
||||
#define gtk_object_data_force_id g_quark_from_string
|
||||
|
||||
/* Set the "user_data" object data field of "object". It should
|
||||
* be noted that this is no different than calling 'gtk_object_set_data'
|
||||
|
@ -65,7 +65,7 @@ struct _GtkSignal
|
||||
struct _GtkSignalHash
|
||||
{
|
||||
GtkType object_type;
|
||||
guint name_key_id;
|
||||
GQuark quark;
|
||||
guint signal_id;
|
||||
};
|
||||
|
||||
@ -172,7 +172,7 @@ static GtkSignalMarshal global_marshaller = NULL;
|
||||
static GtkSignalDestroy global_destroy_notify = NULL;
|
||||
|
||||
static guint gtk_handler_id = 1;
|
||||
static guint handler_key_id = 0;
|
||||
static guint handler_quark = 0;
|
||||
static GHashTable *gtk_signal_hash_table = NULL;
|
||||
static GtkSignal *gtk_signals = NULL;
|
||||
static guint gtk_n_signals = 0;
|
||||
@ -231,14 +231,14 @@ gtk_signal_next_and_invalidate (void)
|
||||
void
|
||||
gtk_signal_init (void)
|
||||
{
|
||||
if (!handler_key_id)
|
||||
if (!handler_quark)
|
||||
{
|
||||
GtkSignal *zero;
|
||||
|
||||
zero = gtk_signal_next_and_invalidate ();
|
||||
g_assert (zero == NULL);
|
||||
|
||||
handler_key_id = gtk_object_data_force_id ("gtk-signal-handlers");
|
||||
handler_quark = g_quark_from_static_string ("gtk-signal-handlers");
|
||||
|
||||
gtk_signal_hash_mem_chunk =
|
||||
g_mem_chunk_new ("GtkSignalHash mem chunk",
|
||||
@ -270,7 +270,7 @@ gtk_signal_newv (const gchar *r_name,
|
||||
{
|
||||
GtkSignal *signal;
|
||||
GtkSignalHash *hash;
|
||||
guint id;
|
||||
GQuark quark;
|
||||
guint i;
|
||||
gchar *name;
|
||||
|
||||
@ -280,15 +280,15 @@ gtk_signal_newv (const gchar *r_name,
|
||||
if (nparams)
|
||||
g_return_val_if_fail (params != NULL, 0);
|
||||
|
||||
if (!handler_key_id)
|
||||
if (!handler_quark)
|
||||
gtk_signal_init ();
|
||||
|
||||
|
||||
name = g_strdup (r_name);
|
||||
g_strdelimit (name, NULL, '_');
|
||||
|
||||
id = gtk_signal_lookup (name, object_type);
|
||||
if (id)
|
||||
quark = gtk_signal_lookup (name, object_type);
|
||||
if (quark)
|
||||
{
|
||||
g_warning ("gtk_signal_newv(): signal \"%s\" already exists in the `%s' class ancestry\n",
|
||||
r_name,
|
||||
@ -302,6 +302,7 @@ gtk_signal_newv (const gchar *r_name,
|
||||
{
|
||||
g_warning ("gtk_signal_newv(): signal \"%s\" with return value `%s' excludes GTK_RUN_LAST",
|
||||
name, gtk_type_name (return_val));
|
||||
g_free (name);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -331,19 +332,19 @@ gtk_signal_newv (const gchar *r_name,
|
||||
*/
|
||||
hash = g_chunk_new (GtkSignalHash, gtk_signal_hash_mem_chunk);
|
||||
hash->object_type = object_type;
|
||||
hash->name_key_id = gtk_object_data_force_id (signal->name);
|
||||
hash->quark = g_quark_from_string (signal->name);
|
||||
hash->signal_id = signal->signal_id;
|
||||
g_hash_table_insert (gtk_signal_hash_table, hash, GUINT_TO_POINTER (hash->signal_id));
|
||||
|
||||
/* insert "signal-name" into hash table
|
||||
*/
|
||||
g_strdelimit (signal->name, NULL, '-');
|
||||
id = gtk_object_data_force_id (signal->name);
|
||||
if (id != hash->name_key_id)
|
||||
quark = g_quark_from_static_string (signal->name);
|
||||
if (quark != hash->quark)
|
||||
{
|
||||
hash = g_chunk_new (GtkSignalHash, gtk_signal_hash_mem_chunk);
|
||||
hash->object_type = object_type;
|
||||
hash->name_key_id = id;
|
||||
hash->quark = quark;
|
||||
hash->signal_id = signal->signal_id;
|
||||
g_hash_table_insert (gtk_signal_hash_table, hash, GUINT_TO_POINTER (hash->signal_id));
|
||||
}
|
||||
@ -405,8 +406,8 @@ gtk_signal_lookup (const gchar *name,
|
||||
g_return_val_if_fail (name != NULL, 0);
|
||||
g_return_val_if_fail (gtk_type_is_a (object_type, GTK_TYPE_OBJECT), 0);
|
||||
|
||||
hash.name_key_id = gtk_object_data_try_key (name);
|
||||
if (hash.name_key_id)
|
||||
hash.quark = g_quark_try_string (name);
|
||||
if (hash.quark)
|
||||
{
|
||||
while (object_type)
|
||||
{
|
||||
@ -886,7 +887,7 @@ gtk_signal_disconnect (GtkObject *object,
|
||||
g_return_if_fail (object != NULL);
|
||||
g_return_if_fail (handler_id > 0);
|
||||
|
||||
handler = gtk_object_get_data_by_id (object, handler_key_id);
|
||||
handler = gtk_object_get_data_by_id (object, handler_quark);
|
||||
|
||||
while (handler)
|
||||
{
|
||||
@ -915,7 +916,7 @@ gtk_signal_disconnect_by_func (GtkObject *object,
|
||||
g_return_if_fail (func != NULL);
|
||||
|
||||
found_one = FALSE;
|
||||
handler = gtk_object_get_data_by_id (object, handler_key_id);
|
||||
handler = gtk_object_get_data_by_id (object, handler_quark);
|
||||
|
||||
while (handler)
|
||||
{
|
||||
@ -948,7 +949,7 @@ gtk_signal_disconnect_by_data (GtkObject *object,
|
||||
g_return_if_fail (object != NULL);
|
||||
|
||||
found_one = FALSE;
|
||||
handler = gtk_object_get_data_by_id (object, handler_key_id);
|
||||
handler = gtk_object_get_data_by_id (object, handler_quark);
|
||||
|
||||
while (handler)
|
||||
{
|
||||
@ -979,7 +980,7 @@ gtk_signal_handler_block (GtkObject *object,
|
||||
g_return_if_fail (object != NULL);
|
||||
g_return_if_fail (handler_id > 0);
|
||||
|
||||
handler = gtk_object_get_data_by_id (object, handler_key_id);
|
||||
handler = gtk_object_get_data_by_id (object, handler_quark);
|
||||
|
||||
while (handler)
|
||||
{
|
||||
@ -1006,7 +1007,7 @@ gtk_signal_handler_block_by_func (GtkObject *object,
|
||||
g_return_if_fail (func != NULL);
|
||||
|
||||
found_one = FALSE;
|
||||
handler = gtk_object_get_data_by_id (object, handler_key_id);
|
||||
handler = gtk_object_get_data_by_id (object, handler_quark);
|
||||
|
||||
while (handler)
|
||||
{
|
||||
@ -1034,7 +1035,7 @@ gtk_signal_handler_block_by_data (GtkObject *object,
|
||||
g_return_if_fail (object != NULL);
|
||||
|
||||
found_one = FALSE;
|
||||
handler = gtk_object_get_data_by_id (object, handler_key_id);
|
||||
handler = gtk_object_get_data_by_id (object, handler_quark);
|
||||
|
||||
while (handler)
|
||||
{
|
||||
@ -1060,7 +1061,7 @@ gtk_signal_handler_unblock (GtkObject *object,
|
||||
g_return_if_fail (object != NULL);
|
||||
g_return_if_fail (handler_id > 0);
|
||||
|
||||
handler = gtk_object_get_data_by_id (object, handler_key_id);
|
||||
handler = gtk_object_get_data_by_id (object, handler_quark);
|
||||
|
||||
while (handler)
|
||||
{
|
||||
@ -1090,7 +1091,7 @@ gtk_signal_handler_unblock_by_func (GtkObject *object,
|
||||
g_return_if_fail (func != NULL);
|
||||
|
||||
found_one = FALSE;
|
||||
handler = gtk_object_get_data_by_id (object, handler_key_id);
|
||||
handler = gtk_object_get_data_by_id (object, handler_quark);
|
||||
|
||||
while (handler)
|
||||
{
|
||||
@ -1119,7 +1120,7 @@ gtk_signal_handler_unblock_by_data (GtkObject *object,
|
||||
g_return_if_fail (object != NULL);
|
||||
|
||||
found_one = FALSE;
|
||||
handler = gtk_object_get_data_by_id (object, handler_key_id);
|
||||
handler = gtk_object_get_data_by_id (object, handler_quark);
|
||||
|
||||
while (handler)
|
||||
{
|
||||
@ -1147,7 +1148,7 @@ gtk_signal_handlers_destroy (GtkObject *object)
|
||||
* handler_key data on each removal
|
||||
*/
|
||||
|
||||
handler = gtk_object_get_data_by_id (object, handler_key_id);
|
||||
handler = gtk_object_get_data_by_id (object, handler_quark);
|
||||
if (handler)
|
||||
{
|
||||
handler = handler->next;
|
||||
@ -1159,7 +1160,7 @@ gtk_signal_handlers_destroy (GtkObject *object)
|
||||
gtk_signal_handler_unref (handler, object);
|
||||
handler = next;
|
||||
}
|
||||
handler = gtk_object_get_data_by_id (object, handler_key_id);
|
||||
handler = gtk_object_get_data_by_id (object, handler_quark);
|
||||
gtk_signal_handler_unref (handler, object);
|
||||
}
|
||||
}
|
||||
@ -1190,7 +1191,7 @@ gtk_signal_hash (gconstpointer h)
|
||||
{
|
||||
register const GtkSignalHash *hash = h;
|
||||
|
||||
return hash->object_type ^ hash->name_key_id;
|
||||
return hash->object_type ^ hash->quark;
|
||||
}
|
||||
|
||||
static gint
|
||||
@ -1200,7 +1201,7 @@ gtk_signal_compare (gconstpointer h1,
|
||||
register const GtkSignalHash *hash1 = h1;
|
||||
register const GtkSignalHash *hash2 = h2;
|
||||
|
||||
return (hash1->name_key_id == hash2->name_key_id &&
|
||||
return (hash1->quark == hash2->quark &&
|
||||
hash1->object_type == hash2->object_type);
|
||||
}
|
||||
|
||||
@ -1288,11 +1289,11 @@ gtk_signal_handler_unref (GtkHandler *handler,
|
||||
if (handler->prev)
|
||||
handler->prev->next = handler->next;
|
||||
else if (handler->next)
|
||||
gtk_object_set_data_by_id (object, handler_key_id, handler->next);
|
||||
gtk_object_set_data_by_id (object, handler_quark, handler->next);
|
||||
else
|
||||
{
|
||||
GTK_OBJECT_UNSET_FLAGS (object, GTK_CONNECTED);
|
||||
gtk_object_set_data_by_id (object, handler_key_id, NULL);
|
||||
gtk_object_set_data_by_id (object, handler_quark, NULL);
|
||||
}
|
||||
if (handler->next)
|
||||
handler->next->prev = handler->prev;
|
||||
@ -1311,11 +1312,11 @@ gtk_signal_handler_insert (GtkObject *object,
|
||||
/* FIXME: remove */ g_assert (handler->next == NULL);
|
||||
/* FIXME: remove */ g_assert (handler->prev == NULL);
|
||||
|
||||
tmp = gtk_object_get_data_by_id (object, handler_key_id);
|
||||
tmp = gtk_object_get_data_by_id (object, handler_quark);
|
||||
if (!tmp)
|
||||
{
|
||||
GTK_OBJECT_SET_FLAGS (object, GTK_CONNECTED);
|
||||
gtk_object_set_data_by_id (object, handler_key_id, handler);
|
||||
gtk_object_set_data_by_id (object, handler_quark, handler);
|
||||
}
|
||||
else
|
||||
while (tmp)
|
||||
@ -1328,7 +1329,7 @@ gtk_signal_handler_insert (GtkObject *object,
|
||||
handler->prev = tmp->prev;
|
||||
}
|
||||
else
|
||||
gtk_object_set_data_by_id (object, handler_key_id, handler);
|
||||
gtk_object_set_data_by_id (object, handler_quark, handler);
|
||||
tmp->prev = handler;
|
||||
handler->next = tmp;
|
||||
break;
|
||||
@ -1469,7 +1470,7 @@ gtk_signal_get_handlers (GtkObject *object,
|
||||
{
|
||||
GtkHandler *handlers;
|
||||
|
||||
handlers = gtk_object_get_data_by_id (object, handler_key_id);
|
||||
handlers = gtk_object_get_data_by_id (object, handler_quark);
|
||||
|
||||
while (handlers)
|
||||
{
|
||||
|
@ -2640,7 +2640,7 @@ gtk_widget_set_style (GtkWidget *widget,
|
||||
{
|
||||
gtk_style_ref (widget->style);
|
||||
if (!saved_default_style_key_id)
|
||||
saved_default_style_key_id = gtk_object_data_force_id (saved_default_style_key);
|
||||
saved_default_style_key_id = g_quark_from_static_string (saved_default_style_key);
|
||||
gtk_object_set_data_by_id (GTK_OBJECT (widget), saved_default_style_key_id, widget->style);
|
||||
}
|
||||
|
||||
@ -2677,7 +2677,7 @@ gtk_widget_set_rc_style (GtkWidget *widget)
|
||||
{
|
||||
gtk_style_ref (widget->style);
|
||||
if (!saved_default_style_key_id)
|
||||
saved_default_style_key_id = gtk_object_data_force_id (saved_default_style_key);
|
||||
saved_default_style_key_id = g_quark_from_static_string (saved_default_style_key);
|
||||
gtk_object_set_data_by_id (GTK_OBJECT (widget), saved_default_style_key_id, widget->style);
|
||||
}
|
||||
gtk_widget_set_style_internal (widget, new_style, initial_emission);
|
||||
@ -2889,7 +2889,7 @@ gtk_widget_set_parent_window (GtkWidget *widget,
|
||||
if (parent_window != old_parent_window)
|
||||
{
|
||||
if (!parent_window_key_id)
|
||||
parent_window_key_id = gtk_object_data_force_id (parent_window_key);
|
||||
parent_window_key_id = g_quark_from_static_string (parent_window_key);
|
||||
gtk_object_set_data_by_id (GTK_OBJECT (widget), parent_window_key_id,
|
||||
parent_window);
|
||||
if (old_parent_window)
|
||||
@ -2946,7 +2946,7 @@ gtk_widget_set_uposition (GtkWidget *widget,
|
||||
if (!aux_info)
|
||||
{
|
||||
if (!aux_info_key_id)
|
||||
aux_info_key_id = gtk_object_data_force_id (aux_info_key);
|
||||
aux_info_key_id = g_quark_from_static_string (aux_info_key);
|
||||
aux_info = gtk_widget_aux_info_new ();
|
||||
gtk_object_set_data_by_id (GTK_OBJECT (widget), aux_info_key_id, aux_info);
|
||||
}
|
||||
@ -2988,7 +2988,7 @@ gtk_widget_set_usize (GtkWidget *widget,
|
||||
if (!aux_info)
|
||||
{
|
||||
if (!aux_info_key_id)
|
||||
aux_info_key_id = gtk_object_data_force_id (aux_info_key);
|
||||
aux_info_key_id = g_quark_from_static_string (aux_info_key);
|
||||
aux_info = gtk_widget_aux_info_new ();
|
||||
gtk_object_set_data_by_id (GTK_OBJECT (widget), aux_info_key_id, aux_info);
|
||||
}
|
||||
@ -3029,7 +3029,7 @@ gtk_widget_set_events (GtkWidget *widget,
|
||||
|
||||
*eventp = events;
|
||||
if (!event_key_id)
|
||||
event_key_id = gtk_object_data_force_id (event_key);
|
||||
event_key_id = g_quark_from_static_string (event_key);
|
||||
gtk_object_set_data_by_id (GTK_OBJECT (widget), event_key_id, eventp);
|
||||
}
|
||||
else if (eventp)
|
||||
@ -3062,7 +3062,7 @@ gtk_widget_set_extension_events (GtkWidget *widget,
|
||||
|
||||
*modep = mode;
|
||||
if (!extension_event_key_id)
|
||||
extension_event_key_id = gtk_object_data_force_id (extension_event_key);
|
||||
extension_event_key_id = g_quark_from_static_string (extension_event_key);
|
||||
gtk_object_set_data_by_id (GTK_OBJECT (widget), extension_event_key_id, modep);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user