I definitely do not have any problems if I put a sleep into the
GaimMainEventLoop function before g_main_loop_run(loop) is called.
(Tried 40 times this time). The startup crashes also do not occur if i
return with NULL; from the GaimMainEventLoop. So is it possible that the
gaim-events cause GUI-changes (contactlis-redrawings) before the GUI is
ready to handle them (segfaults...)? (Like I said: without a sleep the
app crashes during 4-5 out of 10 startups!)
But why do I only have this problem on linux? Perhaps QT needs more time
to be initialized correctly on linux than on other system? Should I try
to add a locker-variable that is set to 0 after the GUI is ready to
check my assumptions?
gpointer GaimMainEventLoop(gpointer data) {
GMainLoop * loop = NULL;
loop = g_main_loop_new(NULL, FALSE);
=> sleep(6);
g_main_loop_run(loop);
g_thread_exit(NULL);
return NULL;
}
Am Freitag, den 09.03.2007, 12:04 +0100 schrieb Philippe BERNERY:
> Le 9 mars 07 à 11:47, Pirmin Walthert a écrit :
>
> > It seems like the GaimIMFactory was not ready on linux before it is
> > passed to the MultiIMFactory if I have several accounts. At least I
> > had
> > no crash at all (started the application for 20 times) after adding a
> > sleep(2) (did not test other values) to main.cpp. This is not a fix,
> > this is only for reproducing and workaround this issue => Perhaps
> > there
> > should be a function that checks if GaimIMFactory was ready?
>
> I have a look in GaimIMFactory::GaimIMInit code (where Gaim is
> initialized). Add the end of the method there is a g_thread_create.
> Maybe we should check that the thread is started and that
> GaimMainEventLoop is ready before going further.
>
> --
> Philippe BERNERY <[EMAIL PROTECTED]>
> http://dev.openwengo.org
>
>
>
_______________________________________________
Wengophone-devel mailing list
[email protected]
http://dev.openwengo.com/mailman/listinfo/wengophone-devel