view plugins/simple.c @ 12476:18b16e801e6f

[gaim-migrate @ 14787] SF Patch #1379107 from evands 'Properly notify the UI when a buddy icon changes gaim_buddy_set_icon() currently does nothing if the incoming GaimBuddyIcon* is the same as buddy->icon. This is wrong, however, because gaim_buddy_icon_new() will recycle an existing GaimBuddyIcon* object for the buddy, replacing its data with the new buddy icon data, if possible. The recycling means that just because (icon == buddy->icon) we can't assume nothing has changed. This patch makes the "buddy-icon-changed" signal be sent and the gaim_blist_update_buddy_icon() function be called appropriately when the buddy icon changes. Call stack that gets us here from prpl code, for those keeping score at home: gaim_buddy_icons_set_for_user() -> gaim_buddy_icon_new() -> gaim_buddy_icon_set_data() -> gaim_buddy_icon_update() -> gaim_buddy_set_icon()' committer: Tailor Script <tailor@pidgin.im>
author Richard Laager <rlaager@wiktel.com>
date Tue, 13 Dec 2005 08:10:28 +0000
parents bb0d7b719af2
children 428f86e1fd27
line wrap: on
line source

#include "internal.h"
#include "debug.h"
#include "plugin.h"
#include "version.h"

static gboolean
plugin_load(GaimPlugin *plugin)
{
	gaim_debug(GAIM_DEBUG_INFO, "simple", "simple plugin loaded.\n");

	return TRUE;
}

static gboolean
plugin_unload(GaimPlugin *plugin)
{
	gaim_debug(GAIM_DEBUG_INFO, "simple", "simple plugin unloaded.\n");

	return TRUE;
}

static GaimPluginInfo info =
{
	GAIM_PLUGIN_MAGIC,
	GAIM_MAJOR_VERSION,
	GAIM_MINOR_VERSION,
	GAIM_PLUGIN_STANDARD,                             /**< type           */
	NULL,                                             /**< ui_requirement */
	0,                                                /**< flags          */
	NULL,                                             /**< dependencies   */
	GAIM_PRIORITY_DEFAULT,                            /**< priority       */

	NULL,                                             /**< id             */
	N_("Simple Plugin"),                              /**< name           */
	VERSION,                                          /**< version        */
	                                                  /**  summary        */
	N_("Tests to see that most things are working."),
	                                                  /**  description    */
	N_("Tests to see that most things are working."),
	"Eric Warmenhoven <eric@warmenhoven.org>",        /**< author         */
	GAIM_WEBSITE,                                          /**< homepage       */

	plugin_load,                                      /**< load           */
	plugin_unload,                                    /**< unload         */
	NULL,                                             /**< destroy        */

	NULL,                                             /**< ui_info        */
	NULL,                                             /**< extra_info     */
	NULL,
	NULL
};

static void
init_plugin(GaimPlugin *plugin)
{
}

GAIM_INIT_PLUGIN(simple, init_plugin, info)