Libpurple disconnecting issue

Benjamin Arnaud bunjeee at
Wed Mar 26 20:11:21 EDT 2008


Thanks a lot,
I think you pointed out my issue, now I need to fix it.
Here is my main loop :

/* virtual */ void ZePurpleApi::run()
 // Logging
 mLogging = false;

// Init the core and the ui events

 // Update timer
 connect(&mUpdateTimer, SIGNAL(timeout()), this, SLOT(onUpdate()));
 connect(this, SIGNAL(started()), this, SLOT(onThreadStart()));

// Glib loop
 GMainLoop *loop = g_main_loop_new(NULL, FALSE);

// (Apps never gets there :-/)

// Qt loop (Never executed)

I think the problem out there is that "exec()" is never executed.
And like it's written in Qt doc :
"You can start the event loop by calling exec(); you can stop it by calling 
exit() or quit(). Having an event loop in a thread makes it possible to 
connect signals from other threads to slots in this threads, using a 
mechanism called queued connections."

I guess that if the event loop never starts, signals might not be processed 
correctly, wpurple_stuff is based on threads, so the whole package crashes.

Now I need a way to execute my Qt loop and the glib loop inside some other 
function. Or maybe you have some advice on this?

----- Original Message ----- 
From: "Ethan Blanton" <elb at>
To: <devel at>
Sent: Thursday, March 27, 2008 12:49 AM
Subject: Re: Libpurple disconnecting issue

> _______________________________________________
> Devel mailing list
> Devel at

More information about the Devel mailing list