Comment 8 for bug 144903

Revision history for this message
Gonzalo Núñez (gnunezr) wrote :

Hi.

   Not sure if this solves this issue for you all, in my case it did the trick though.

I modified the file shell.c, near line 1014, from this:

    /* recreate the iter hash table */
    if (!reload) {
        if (update_tbl) {
            g_hash_table_foreach_remove( update_tbl, (GHRFunc)gtk_true, NULL);
        } else {
            update_tbl = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
        }
    }

To this:

    /* recreate the iter hash table */
    if (!reload) {
        if (update_tbl) {
            g_hash_table_foreach_remove( update_tbl, (GHRFunc)gtk_true, NULL);
        } else {
            /*
              GNR - October 24th, 2007.
                Replacing g_hash_table_new_full with g_hash_table_new solves the SIGSEGV
                error!
            */
// update_tbl = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
            update_tbl = g_hash_table_new(g_str_hash, g_str_equal);
        }
    }

That is, I replaced the call to g_hash_table_new_full with a call to g_hash_table_new

I'm no GTK programmer, so I don't know what could be causing the error, as the only difference I see is the calls to g_free for disposing the key/value pairs.

Anyway, hope this helps somebody.