Question about sendbutton plugin

Hamilton Turner hamiltont at gmail.com
Wed Nov 25 12:40:58 EST 2009


Hey all,

Working on making a plugin, could use a bit of dev help.

In sendbutton.c, in the plugin_load function, there is a signal method:
purple_signal_connect(gtk_conversation_handle,
					"conversation-displayed",
					plugin,
					PURPLE_CALLBACK(conversation_displayed_cb),
					NULL);

This registers a libpurple callback, but the callback function has a
pidgin specific signature:
static void conversation_displayed_cb(PidginConversation *gtkconv)

Question is, what happens if this callback fires and it is not a GTK+  
window?
Are we just supposed to assume that b/c "conversation-displayed" is a  
gtk+ signal
(see http://developer.pidgin.im/doxygen/2.5.2/html/gtkconv- 
signals.html) that this will
never happen?

Reason I ask is b/c I registered this callback(using the correct  
PURPLE_CALLBACK
method sig), but PIDGIN_IS_PIDGIN_CONVERSATION returns false.
Strangely, if I reload the plugin, then all of the open conversations  
return true for
PIDGIN_IS_PIDGIN_CONVERSATION(), but once I click on a buddy to open a  
new
chat window, that returns false. Could really use some help  
understanding what is
going on!

Thanks!
Hamilton




More information about the Devel mailing list