Make purple_blist_load() static (#3288) - necessary?

Jay Goel jpgoel at ncsu.edu
Sun Mar 9 21:41:50 EDT 2008


That makes sense; in fact, if ui_init() is not called first, then pidgin 
will segfault.

However, the patch actually changes when the blist is initialized. 
libpurple/core.c now looks like:

purple_core_init(const char *ui)
{
   /* lots of code */

   /*
    * We need to initialize the UI before trying to create the buddy list.
    */
   if (ops != NULL && ops->ui_init != NULL)
     ops->ui_init();

   purple_blist_init();

}


(a bit of an eyesore, but that problem is taken care of - unless I have 
missed the mark?)

Jay

Evan Schoenberg wrote, On 03/09/2008 02:13 PM:
>
> I would be okay with this being done automatically, but I do 
> /not/ think that it should happen within blist_init().  The UI has had 
> no chance to perform its own initialization or to associate any of its 
> data with libpurple structures.  This means that the flood of 
> information from loading the blist (buddies added to groups, aliases 
> set, etc. as blist.xml is loaded) may have nowhere to go.
>
> I think that a second call into the blist module should be made 
> /after/ ops->ui_init() is called, along the lines of 
> blist_finish_initing().  Seem reasonable?
>
> Thanks for bringing this up on-list.
>
> -Evan




More information about the Devel mailing list