Re: [GnomeMeeting-devel-list] Libebook issues



Julien PUYDT a �it :
I'll check if gnomemeeting's code does proper error checking ; if so then the issue is certainly in libebook...

In lib/contacts/gm_contacts-eds.cpp, in function gnomemeeting_get_local_addressbooks, the line 313 reads :
  ebook = e_book_new_default_addressbook (NULL);
where the NULL is supposed to be a pointer to a pointer to a GError.

I modified the code like this :
GError *error = NULL;

ebook = e_book_new_default_addressbook (NULL);

if (error)
  g_print ("GASP: %s\n", error->message);

and got :
GASP: e_book_new: no factories available for uri `file:///home/jpuydt/.evolution/addressbook/local/system'

Which makes me think the code probably should be :
GError *error = NULL;

ebook = e_book_new_default_addressbook (&error);

if (error) {

  g_error_free (error); /* don't leak ! */
  return NULL;
}

But notice that this is just handling an error which has been detected ; it protects us *after* the call to e_book_new_default_addressbook. In this case the error is within it so I guess there's a bug in there.

Still investigating...

Snark

PS: shall I commit the new error handling, even if it doesn't fix this particular problem ?



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]