Hi,<br><br><div class="gmail_quote">On Mon, Apr 6, 2009 at 12:01 PM, Ethan Blanton <span dir="ltr"><<a href="mailto:elb@pidgin.im">elb@pidgin.im</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
"Marco Trevisan (Treviño)" spake unto us the following wisdom:<br>
<div class="im">> Hello, I'm posting here what I've already posted in enlightenment-devel<br>
> since we're still looking for a solution for getting a libpurple client<br>
> to work with ecore (that would allow to write an EFL GUI around it).<br>
<br>
</div>Great!  We're always excited to see new UIs and new opportunities for<br>
libpurple.  :-)</blockquote><div><br>We have a registered project called: Python-purple for Maemo[1]. Even it is "for Maemo", I guess the code and an example there could help you to see libpurple being used by other GUI's.<br>
Python-purple is a python binding for libpurple. We have a nullclient[2] written in python which have a python-efl GUI. Note that this client is very minimal and python-purple itself is in a initial phase as well.<br><br>
[1] <a href="http://garage.maemo.org/projects/python-purple/">http://garage.maemo.org/projects/python-purple/</a><br>[2] <a href="http://git.maemo.org/projects/python-purple/gitweb?p=python-purple">http://git.maemo.org/projects/python-purple/gitweb?p=python-purple</a><br>
<br>Regards,<br><br>Anderson Briglia<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<div class="im"><br>
> Hello, today as a first step, I've tried to port the libpurple example<br>
> "nullclient.c" to make it use the ecore_loop instead of the GMainLoop.<br>
><br>
> To get this, I had mostly to write the wrapper functions needed to<br>
> populate the PurpleEventLoopUiOps struct.<br>
> Thanks to the ecore_timer* and the ecore_main_fd* functions all this was<br>
> quite easy, and you can see my result looking at the nullclient-ecore.c<br>
> attached file.<br>
<br>
</div>Sounds good so far.  I haven't looked at your code yet, but something<br>
in your email caught my eye as a potential sign...<br>
<br>
[snip]<br>
<div class="im"><br>
>  - If I run it in gdb or I set to TRUE the purple_debug_set_enabled<br>
>    function, I can connect to the server with no problems, and as you<br>
>    can see here [2], also the null_write_conv callback is working well<br>
>    since I receive the incoming messages.<br>
<br>
</div>This sounds like a race condition.  Both gdb and stdio stderr (used by<br>
purple_debug) often cause serializaton of actions in a threaded<br>
environment.  It looked to me from a brief glance through your code<br>
that you're not using threads, but is it possible that ecore is using<br>
threads behind your back?  If so, you may need to do some more work to<br>
ensure safety of the various libpurple mainloop entry points.  (If<br>
not, we'll have to look harder.)<br>
<br>
Ethan<br>
<font color="#888888"><br>
--<br>
The laws that forbid the carrying of arms are laws [that have no remedy<br>
for evils].  They disarm only those who are neither inclined nor<br>
determined to commit crimes.<br>
                -- Cesare Beccaria, "On Crimes and Punishments", 1764<br>
</font><br>-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG v1.4.6 (GNU/Linux)<br>
<br>
iD8DBQFJ2NXJr9kA9Ig8HBQRAgavAJwJhi0QEO1ZUONG85d/azSyND2mgACghSc5<br>
Lb2tsE7W5eVjW5aJZzNTt+Y=<br>
=Up0p<br>
-----END PGP SIGNATURE-----<br>
<br>_______________________________________________<br>
Devel mailing list<br>
<a href="mailto:Devel@pidgin.im">Devel@pidgin.im</a><br>
<a href="http://pidgin.im/cgi-bin/mailman/listinfo/devel" target="_blank">http://pidgin.im/cgi-bin/mailman/listinfo/devel</a><br>
<br></blockquote></div><br>