view finch/libgnt/gntmenuitemcheck.c @ 17621:bbd92ee894f2

Fixed a bug in the XMPP parser involving event handlers that replace the xmlnode packet. This caused double frees in this situation. The replacing function must free the xmlnode, since multiple event handlers could do this, and the intermediate xml trees would leak otherwise.
author Andreas Monitzer <pidgin@monitzer.com>
date Tue, 03 Jul 2007 23:51:26 +0000
parents f00f2e283ffb
children 8410511f4dbb
line wrap: on
line source

#include "gntmenuitemcheck.h"

static GntMenuItemClass *parent_class = NULL;

static void
gnt_menuitem_check_class_init(GntMenuItemCheckClass *klass)
{
	parent_class = GNT_MENU_ITEM_CLASS(klass);

	GNTDEBUG;
}

static void
gnt_menuitem_check_init(GTypeInstance *instance, gpointer class)
{
	GNTDEBUG;
}

/******************************************************************************
 * GntMenuItemCheck API
 *****************************************************************************/
GType
gnt_menuitem_check_get_gtype(void)
{
	static GType type = 0;

	if(type == 0)
	{
		static const GTypeInfo info = {
			sizeof(GntMenuItemCheckClass),
			NULL,					/* base_init		*/
			NULL,					/* base_finalize	*/
			(GClassInitFunc)gnt_menuitem_check_class_init,
			NULL,					/* class_finalize	*/
			NULL,					/* class_data		*/
			sizeof(GntMenuItemCheck),
			0,						/* n_preallocs		*/
			gnt_menuitem_check_init,			/* instance_init	*/
			NULL					/* value_table		*/
		};

		type = g_type_register_static(GNT_TYPE_MENU_ITEM,
									  "GntMenuItemCheck",
									  &info, 0);
	}

	return type;
}

GntMenuItem *gnt_menuitem_check_new(const char *text)
{
	GntMenuItem *item = g_object_new(GNT_TYPE_MENU_ITEM_CHECK, NULL);
	GntMenuItem *menuitem = GNT_MENU_ITEM(item);

	menuitem->text = g_strdup(text);
	return item;
}

gboolean gnt_menuitem_check_get_checked(GntMenuItemCheck *item)
{
		return item->checked;
}

void gnt_menuitem_check_set_checked(GntMenuItemCheck *item, gboolean set)
{
		item->checked = set;
}