Mercurial > pidgin
view finch/libgnt/gntcheckbox.h @ 18608:a244c34ce59c
Call the AIM_CB_SPECIAL_CONNERR callback from
flap_connection_destroy_cb() rather than parse_flap_ch4(). This
ensures that the AIM_CB_SPECIAL_CONNERR callback function gets called
even if AOL ends our FLAP connection without sending the customary
channel 4 FLAP.
Apparently you're not allowed to be in chat rooms from two locations.
So when you sign on from a second location AOL severs the chat
connections from your first location. It does this by sending a
TCP RST rather than the expected channel 4 FLAP.
This lead to a crash if you were in a chat room, then signed on from
a second location. Fixes #1937.
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 22 Jul 2007 08:18:27 +0000 |
parents | 5c6f019e48f8 |
children | 44b4e8bd759b |
line wrap: on
line source
/** * @file gntcheckbox.h Checkbox API * @ingroup gnt */ /* * GNT - The GLib Ncurses Toolkit * * GNT is the legal property of its developers, whose names are too numerous * to list here. Please refer to the COPYRIGHT file distributed with this * source distribution. * * This library 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 */ #ifndef GNT_CHECK_BOX_H #define GNT_CHECK_BOX_H #include "gntbutton.h" #include "gnt.h" #include "gntcolors.h" #include "gntkeys.h" #define GNT_TYPE_CHECK_BOX (gnt_check_box_get_gtype()) #define GNT_CHECK_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GNT_TYPE_CHECK_BOX, GntCheckBox)) #define GNT_CHECK_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GNT_TYPE_CHECK_BOX, GntCheckBoxClass)) #define GNT_IS_CHECK_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GNT_TYPE_CHECK_BOX)) #define GNT_IS_CHECK_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GNT_TYPE_CHECK_BOX)) #define GNT_CHECK_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GNT_TYPE_CHECK_BOX, GntCheckBoxClass)) #define GNT_CHECK_BOX_FLAGS(obj) (GNT_CHECK_BOX(obj)->priv.flags) #define GNT_CHECK_BOX_SET_FLAGS(obj, flags) (GNT_CHECK_BOX_FLAGS(obj) |= flags) #define GNT_CHECK_BOX_UNSET_FLAGS(obj, flags) (GNT_CHECK_BOX_FLAGS(obj) &= ~(flags)) typedef struct _GntCheckBox GntCheckBox; typedef struct _GntCheckBoxPriv GntCheckBoxPriv; typedef struct _GntCheckBoxClass GntCheckBoxClass; struct _GntCheckBox { GntButton parent; gboolean checked; }; struct _GntCheckBoxClass { GntButtonClass parent; void (*toggled)(void); void (*gnt_reserved1)(void); void (*gnt_reserved2)(void); void (*gnt_reserved3)(void); void (*gnt_reserved4)(void); }; G_BEGIN_DECLS /** * * * @return */ GType gnt_check_box_get_gtype(void); /** * * @param text * * @return */ GntWidget * gnt_check_box_new(const char *text); /** * * @param box * @param set */ void gnt_check_box_set_checked(GntCheckBox *box, gboolean set); /** * * @param box * * @return */ gboolean gnt_check_box_get_checked(GntCheckBox *box); G_END_DECLS #endif /* GNT_CHECK_BOX_H */