Today's lesson in not using Apple's private methods: somewhere between old/886f95f00431 and #9620 Apple changed their document icon setup process. Use the new methods and fix #9620.
(transplanted from 5cf365ce9352d25978ffd6073d3bc07573aba518)
/*
* Adium is the legal property of its developers, whose names are listed in the copyright file included
* with this source distribution.
*
* This program is free software; you can redistribute it and/or modify it under the terms of the GNU
* General Public License as published by the Free Software Foundation; either version 2 of the License,
* or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
* Public License for more details.
*
* You should have received a copy of the GNU General Public License along with this program; if not,
* write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#import "ESAwayStatusWindowPlugin.h"
#import "ESAwayStatusWindowController.h"
#import <Adium/AIContactControllerProtocol.h>
#import "AISoundController.h"
#import "AIStatusController.h"
#import <Adium/AIAccount.h>
#import <Adium/AIListObject.h>
@interfaceESAwayStatusWindowPlugin()
-(void)processStatusUpdate;
@end
/*!
* @class ESAwayStatusWindowPlugin
* @brief Component to manage the status window optionally displayed when one or more accounts are away
*
* XXX - This comopnent should move to being an external, included, disabled by default plugin, with more
* options added when it is enabled.
*/
@implementationESAwayStatusWindowPlugin
/*!
* @brief Install
*/
-(void)installPlugin
{
showStatusWindow=FALSE;
awayAccounts=[[NSMutableSetalloc]init];
//Observe preference changes for updating if we should show the status window