1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-01 07:16:37 +02:00

Fix crash when changing or removing color palette options

This commit is contained in:
Sebastien Helleu
2011-01-03 14:41:14 +01:00
parent b38dfac5ee
commit a341d809b2
3 changed files with 2 additions and 31 deletions
+1 -1
View File
@@ -693,7 +693,7 @@ config_weechat_palette_change_cb (void *data,
number = (int)strtol (option->name, &error, 10);
if (error && !error[0])
{
gui_color_palette_change (number, CONFIG_STRING(option));
gui_color_palette_add (number, CONFIG_STRING(option));
}
}
+1 -29
View File
@@ -574,7 +574,7 @@ gui_color_palette_get (int number)
void
gui_color_palette_add (int number, const char *value)
{
struct t_gui_color_palette *new_color_palette, *ptr_color_palette;
struct t_gui_color_palette *new_color_palette;
char str_number[64];
gui_color_palette_alloc_structs ();
@@ -584,10 +584,6 @@ gui_color_palette_add (int number, const char *value)
return;
snprintf (str_number, sizeof (str_number), "%d", number);
ptr_color_palette = hashtable_get (gui_color_hash_palette_color,
str_number);
if (ptr_color_palette)
gui_color_palette_free (ptr_color_palette);
hashtable_set (gui_color_hash_palette_color,
str_number, new_color_palette);
gui_color_palette_build_aliases ();
@@ -616,7 +612,6 @@ gui_color_palette_remove (int number)
str_number);
if (ptr_color_palette)
{
gui_color_palette_free (ptr_color_palette);
hashtable_remove (gui_color_hash_palette_color, str_number);
gui_color_palette_build_aliases ();
if (gui_init_ok)
@@ -627,29 +622,6 @@ gui_color_palette_remove (int number)
}
}
/*
* gui_color_palette_change: change a color in palette
*/
void
gui_color_palette_change (int number, const char *value)
{
struct t_gui_color_palette *ptr_color_palette;
char str_number[64];
gui_color_palette_alloc_structs ();
snprintf (str_number, sizeof (str_number), "%d", number);
ptr_color_palette = hashtable_get (gui_color_hash_palette_color,
str_number);
if (ptr_color_palette)
{
gui_color_palette_free (ptr_color_palette);
hashtable_remove (gui_color_hash_palette_color, str_number);
gui_color_palette_add (number, value);
}
}
/*
* gui_color_palette_free_structs: free hashtables and lists for palette
*/
-1
View File
@@ -158,7 +158,6 @@ extern int gui_color_palette_get_alias (const char *alias);
extern struct t_gui_color_palette *gui_color_palette_get (int number);
extern void gui_color_palette_add (int number, const char *value);
extern void gui_color_palette_remove (int number);
extern void gui_color_palette_change (int number, const char *value);
extern void gui_color_palette_free_structs ();
/* color functions (GUI dependent) */