GHashTable
- From: Andreas Volz <lists brachttal net>
- To: gtk-app-devel-list gnome org
- Subject: GHashTable
- Date: Sun, 1 Aug 2004 23:30:57 +0200
Hi,
I've some questions about GHashTable. I used a GHashTable in the past to
store some char* key and value pairs without problems. Now I like to
store GladeXML* as value and a char* as key. This is what I tried:
static GHashTable *glade_hash;
void register_glade_parent (GladeXML *glade_xml,
const char *parent_name)
{
static gboolean init = FALSE;
if (!init)
{
glade_hash = g_hash_table_new_full (g_direct_hash, g_direct_equal,
g_free, g_free);
init = TRUE;
}
g_hash_table_replace (glade_hash,
strdup (parent_name),
glade_xml);
}
GtkWidget *lookup_glade_widget (const char *parent_name,
const char *widget_name)
{
GladeXML *glade_xml;
GtkWidget *found_widget;
gpointer lookup;
lookup = g_hash_table_lookup (glade_hash,
parent_name);
glade_xml = (GladeXML *) lookup;
found_widget = glade_xml_get_widget (glade_xml, widget_name);
return found_widget;
}
I expect to get a widget with lookup_glade_widget() after register his
GladeXML* with register_glade_parent(). But I get everytime NULL for
lookup = g_hash_table_lookup (glade_hash, parent_name);
Why isn't the object found in the GHashTable?
regards
Andreas
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]