Fix casting problem in gmodule code.

This fixes bug 579884.  Previously the return value of g_slist_find_custom was
being recasted as type (GtkModuleInfo *).  This patch sets the return value
to a temporary variable of type (GSList *), and sets info to temp->data.  This
avoids a crashing problem.
This commit is contained in:
Brian Cameron
2009-04-24 18:16:15 -05:00
parent 28a6068eb9
commit f43a78a892

View File

@ -289,9 +289,16 @@ load_module (GSList *module_list,
g_module_close (module); g_module_close (module);
else else
{ {
GSList *temp;
success = TRUE; success = TRUE;
info = (GtkModuleInfo *) g_slist_find_custom (gtk_modules, module, info = NULL;
temp = g_slist_find_custom (gtk_modules, module,
(GCompareFunc)cmp_module); (GCompareFunc)cmp_module);
if (temp != NULL)
info = temp->data;
if (!info) if (!info)
{ {
info = g_new0 (GtkModuleInfo, 1); info = g_new0 (GtkModuleInfo, 1);