[Adium-devl] Adium IRC Plugin Problems

Evan Schoenberg evan at adiumx.com
Sun Jun 8 17:35:29 UTC 2008


On Jun 8, 2008, at 1:29 PM, Andreas Monitzer wrote:

> When I quit Adium, it parts all channels before closing the IRC
> connection. Since I'm using an IRC proxy, that's a no-go. When I
> disconnect manually before quitting, it works fine.
> Here's the description for a similar problem in pidgin: http://developer.pidgin.im/ticket/4842
> It seems that on quit, all chat windows are closed first. That has to
> change for IRC, the connections have to be disconnected first, then
> the chat windows can be closed.
> Does any of you have any idea, how I could fix that without breaking
> anything?

You could override CBPurpleAccount's - (BOOL)closeChat:(AIChat*)chat
in the IRC account subclass and check [adium isQuitting], silently  
ignoring the request if YES and calling super's implementation if NO.

> An additional problem is that if you have multiple accounts with the
> same nickname/server-combination, Adium mixes them up (join chat only
> opens them for one of the accounts, and you get two chat windows with
> the same room then). I guess that's because the UID isn't unique in
> this case. Maybe it should just contain a UUID, which is generated
> when the account is created? That's a global problem, not just for the
> IRC service plugin.


Adium itself keeps track of the accounts uniquely... the breakdown  
occurs at the level of either libpurple itself or our interactions  
with libpurple in
CBPurpleAccount* accountLookup(PurpleAccount *acct)
and
PurpleAccount* accountLookupFromAdiumAccount(CBPurpleAccount  
*adiumAccount)
in SLPurpleCocoaAdapter.

-Evan


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://adium.im/pipermail/devel_adium.im/attachments/20080608/9468248c/attachment-0001.html>


More information about the devel mailing list