Mercurial > pidgin
view plugins/mono/BooPlugin.boo @ 12288:3897229ccb33
[gaim-migrate @ 14592]
" This patch fixes two serious bugs in the hidden
conversation/queuing code.
First, it removes the need to explicitly present
conversations created under queuing conditions.
Instead, when an incoming message is received and a
conversation does not exist, a hidden conversation is
created in a received-im-msg signal handler by swapping
out the create_conversation function in the gtkconv
ui_ops. This fixes a bug which could allow
conversations to be created in a hidden state when they
should be visible (i.e. buddy pounce open an im window
action). This required a second search for a
conversation in server.c after the signal is emitted.
Second, it fixes a bug which would cause gaim to crash
when quitting with a queued message. Fixing this
simplified the code a bit by removing the
private_remove_gtkconv function and instead adding a
check in gaim_gtk_conv_window_remove_gtkconv to prevent
the hidden_convwin from being destroyed when the last
conversation is removed." --charkins
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Fri, 02 Dec 2005 00:40:32 +0000 |
parents | a3302d271199 |
children |
line wrap: on
line source
import Gaim class BooPlugin(GaimPlugin): def handle(*args as (object)): b as Buddy b = args[0] Debug.debug(Debug.INFO, "booplugin", "Boo Plugin knows that " + b.Alias + " is away\n") override def Load(): Debug.debug(Debug.INFO, "booplugin", "loading...\n") BuddyList.OnBuddyAway.connect(self, handle) override def Unload(): Debug.debug(Debug.INFO, "booplugin", "unloading...\n") override def Destroy(): Debug.debug(Debug.INFO, "booplugin", "destroying...\n") override def Info(): return GaimPluginInfo("Boo Plugin", "0.1", "Test Boo Plugin", "Longer Description", "Eoin Coffey", "urled")