Mercurial > pidgin.yaz
view finch/libgnt/gntcolors.h @ 27231:e3907cfaeb02
Don't crash when the seemingly impossible occurs.
IOW, try to handle khc's crash, even though I don't see how this is possible.
(gdb) f 4
#4 0x00007f268bd61e11 in jabber_caps_ext_iqcb (js=0x2ac4700,
from=0x4a3c550 "maiku@jabber.org/Telepathy", type=JABBER_IQ_RESULT,
id=0x31b1240 "purpleb9d3d882", packet=0x55e3220, data=0x497d6f0)
at caps.c:552
552 g_hash_table_insert(node_exts->exts, g_strdup(userdata->name), features);
(gdb) p node_exts
$2 = (JabberCapsNodeExts *) 0x0
(gdb) bt
#0 0x00007f2693f53fb5 in raise () from /lib/libc.so.6
#1 0x00007f2693f55bc3 in abort () from /lib/libc.so.6
#2 0x000000000049366b in sighandler (sig=11) at gtkmain.c:195
#3 <signal handler called>
#4 0x00007f268bd61e11 in jabber_caps_ext_iqcb (js=0x2ac4700,
from=0x4a3c550 "maiku@jabber.org/Telepathy", type=JABBER_IQ_RESULT,
id=0x31b1240 "purpleb9d3d882", packet=0x55e3220, data=0x497d6f0)
at caps.c:552
#10 0x00007f268bd56d3d in jabber_parser_process (js=0x2ac4700,
buf=0x7f268bf7a980 "<iq from='maiku@jabber.org/Telepathy' to='khc@hxbc.us/Home' type='result' id='purpleb9d3d882'> <query node='http://telepathy.freedesktop.org/caps#voice-v1' xmlns='http://jabber.org/protocol/disco#info"..., len=279)
at parser.c:227
$4 = (JabberCapsClientInfo *) 0x4a8bcd0
p *((ext_iq_data*)data)->data->info
$6 = {
identities = 0x0,
features = 0x4a41580,
forms = 0x0,
exts = 0x0,
tuple = {
node = 0x3d2ff20 "http://telepathy.freedesktop.org/caps",
ver = 0x31aa850 "0.6.2.1",
hash = 0x0
}
}
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Mon, 22 Jun 2009 23:36:56 +0000 |
parents | ea341703b1d3 |
children |
line wrap: on
line source
/** * @file gntcolors.h Colors 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., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ #ifndef GNT_COLORS_H #define GNT_COLORS_H #include <glib.h> /** * Different classes of colors. */ typedef enum { GNT_COLOR_NORMAL = 1, GNT_COLOR_HIGHLIGHT, /* eg. when a button is selected */ GNT_COLOR_DISABLED, /* eg. when a button is disabled */ GNT_COLOR_HIGHLIGHT_D, /* eg. when a button is selected, but some other window is in focus */ GNT_COLOR_TEXT_NORMAL, GNT_COLOR_TEXT_INACTIVE, /* when the entry is out of focus */ GNT_COLOR_MNEMONIC, GNT_COLOR_MNEMONIC_D, GNT_COLOR_SHADOW, GNT_COLOR_TITLE, GNT_COLOR_TITLE_D, GNT_COLOR_URGENT, /* this is for the 'urgent' windows */ GNT_COLORS } GntColorType; enum { GNT_COLOR_BLACK = 0, GNT_COLOR_RED, GNT_COLOR_GREEN, GNT_COLOR_BLUE, GNT_COLOR_WHITE, GNT_COLOR_GRAY, GNT_COLOR_DARK_GRAY, GNT_TOTAL_COLORS }; /** * Initialize the colors. */ void gnt_init_colors(void); /** * Uninitialize the colors. */ void gnt_uninit_colors(void); #if GLIB_CHECK_VERSION(2,6,0) /** * Parse color information from a file. * * @param kfile The file containing color information. */ void gnt_colors_parse(GKeyFile *kfile); /** * Parse color-pair information from a file. * * @param kfile The file containing the color-pair information. */ void gnt_color_pairs_parse(GKeyFile *kfile); /** * Parse a string color * * @param kfile The string value * * @return A color. For an unknown color name, returns -EINVAL. * * @since 2.4.0 */ int gnt_colors_get_color(char *key); #endif /** * Return the appropriate character attribute for a specified color. * If the terminal doesn't have color support, this returns A_STANDOUT * when deemed appropriate. * * @param color The color code. * * @return A character attribute. * * @since 2.3.0 */ int gnt_color_pair(int color); /** * Adds a color definition * * @param fg Foreground * @param bg Background * * @return A color pair * * @since 2.4.0 */ int gnt_color_add_pair(int fg, int bg); #endif