mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-21 03:52:33 +00:00
Fixed the problem when indexed conversion crashes when there are no
palettes -Yosh
This commit is contained in:
parent
e8736da4aa
commit
a9d80407d6
|
@ -1,3 +1,8 @@
|
|||
Tue Dec 16 16:55:04 PST 1997 Manish Singh <yosh@gimp.org>
|
||||
|
||||
* app/convert.c: no more crashes with indexed conversion and no
|
||||
palettes
|
||||
|
||||
Tue Dec 16 12:32:30 1997 Scott Goehring <scott@poverty.bloomington.in.us>
|
||||
|
||||
* app/xcf.c (xcf_load_invoker): Shuji's xcf load close patch.
|
||||
|
|
|
@ -378,27 +378,29 @@ convert_to_indexed (void *gimage_ptr)
|
|||
gtk_widget_show (toggle);
|
||||
gtk_widget_show (hbox);
|
||||
|
||||
/* 'custom' palette from dialog */
|
||||
hbox = gtk_hbox_new (FALSE, 1);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
|
||||
toggle = gtk_radio_button_new_with_label (group, "Use custom palette");
|
||||
group = gtk_radio_button_group (GTK_RADIO_BUTTON (toggle));
|
||||
gtk_box_pack_start (GTK_BOX (hbox), toggle, TRUE, TRUE, 0);
|
||||
gtk_signal_connect (GTK_OBJECT (toggle), "toggled",
|
||||
(GtkSignalFunc) indexed_radio_update,
|
||||
&(dialog->custompal_flag));
|
||||
gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (toggle),
|
||||
dialog->custompal_flag);
|
||||
gtk_widget_show (toggle);
|
||||
|
||||
palette_option_menu = gtk_option_menu_new();
|
||||
menu = build_palette_menu(&default_palette);
|
||||
gtk_option_menu_set_menu (GTK_OPTION_MENU(palette_option_menu), menu);
|
||||
gtk_option_menu_set_history(GTK_OPTION_MENU(palette_option_menu),
|
||||
default_palette);
|
||||
gtk_box_pack_start(GTK_BOX(hbox), palette_option_menu, TRUE, TRUE, 2);
|
||||
gtk_widget_show(palette_option_menu);
|
||||
gtk_widget_show (hbox);
|
||||
if (menu) {
|
||||
/* 'custom' palette from dialog */
|
||||
hbox = gtk_hbox_new (FALSE, 1);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
|
||||
toggle = gtk_radio_button_new_with_label (group, "Use custom palette");
|
||||
group = gtk_radio_button_group (GTK_RADIO_BUTTON (toggle));
|
||||
gtk_box_pack_start (GTK_BOX (hbox), toggle, TRUE, TRUE, 0);
|
||||
gtk_signal_connect (GTK_OBJECT (toggle), "toggled",
|
||||
(GtkSignalFunc) indexed_radio_update,
|
||||
&(dialog->custompal_flag));
|
||||
gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (toggle),
|
||||
dialog->custompal_flag);
|
||||
gtk_widget_show (toggle);
|
||||
|
||||
palette_option_menu = gtk_option_menu_new();
|
||||
gtk_option_menu_set_menu (GTK_OPTION_MENU(palette_option_menu), menu);
|
||||
gtk_option_menu_set_history(GTK_OPTION_MENU(palette_option_menu),
|
||||
default_palette);
|
||||
gtk_box_pack_start(GTK_BOX(hbox), palette_option_menu, TRUE, TRUE, 2);
|
||||
gtk_widget_show(palette_option_menu);
|
||||
gtk_widget_show (hbox);
|
||||
}
|
||||
}
|
||||
|
||||
/* 'mono palette' */
|
||||
|
@ -456,14 +458,19 @@ build_palette_menu(int *default_palette){
|
|||
PaletteEntriesP entries;
|
||||
int i;
|
||||
|
||||
menu = gtk_menu_new();
|
||||
list = palette_entries_list;
|
||||
|
||||
if(!palette_entries_list) {
|
||||
/* fprintf(stderr, "no palette_entries_list, building...\n");*/
|
||||
palette_init_palettes();
|
||||
}
|
||||
|
||||
list = palette_entries_list;
|
||||
|
||||
if (!list)
|
||||
return NULL;
|
||||
|
||||
menu = gtk_menu_new();
|
||||
|
||||
for(i=0,list = palette_entries_list,*default_palette=-1;
|
||||
list;
|
||||
i++,list = next_item (list))
|
||||
|
|
|
@ -378,27 +378,29 @@ convert_to_indexed (void *gimage_ptr)
|
|||
gtk_widget_show (toggle);
|
||||
gtk_widget_show (hbox);
|
||||
|
||||
/* 'custom' palette from dialog */
|
||||
hbox = gtk_hbox_new (FALSE, 1);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
|
||||
toggle = gtk_radio_button_new_with_label (group, "Use custom palette");
|
||||
group = gtk_radio_button_group (GTK_RADIO_BUTTON (toggle));
|
||||
gtk_box_pack_start (GTK_BOX (hbox), toggle, TRUE, TRUE, 0);
|
||||
gtk_signal_connect (GTK_OBJECT (toggle), "toggled",
|
||||
(GtkSignalFunc) indexed_radio_update,
|
||||
&(dialog->custompal_flag));
|
||||
gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (toggle),
|
||||
dialog->custompal_flag);
|
||||
gtk_widget_show (toggle);
|
||||
|
||||
palette_option_menu = gtk_option_menu_new();
|
||||
menu = build_palette_menu(&default_palette);
|
||||
gtk_option_menu_set_menu (GTK_OPTION_MENU(palette_option_menu), menu);
|
||||
gtk_option_menu_set_history(GTK_OPTION_MENU(palette_option_menu),
|
||||
default_palette);
|
||||
gtk_box_pack_start(GTK_BOX(hbox), palette_option_menu, TRUE, TRUE, 2);
|
||||
gtk_widget_show(palette_option_menu);
|
||||
gtk_widget_show (hbox);
|
||||
if (menu) {
|
||||
/* 'custom' palette from dialog */
|
||||
hbox = gtk_hbox_new (FALSE, 1);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
|
||||
toggle = gtk_radio_button_new_with_label (group, "Use custom palette");
|
||||
group = gtk_radio_button_group (GTK_RADIO_BUTTON (toggle));
|
||||
gtk_box_pack_start (GTK_BOX (hbox), toggle, TRUE, TRUE, 0);
|
||||
gtk_signal_connect (GTK_OBJECT (toggle), "toggled",
|
||||
(GtkSignalFunc) indexed_radio_update,
|
||||
&(dialog->custompal_flag));
|
||||
gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (toggle),
|
||||
dialog->custompal_flag);
|
||||
gtk_widget_show (toggle);
|
||||
|
||||
palette_option_menu = gtk_option_menu_new();
|
||||
gtk_option_menu_set_menu (GTK_OPTION_MENU(palette_option_menu), menu);
|
||||
gtk_option_menu_set_history(GTK_OPTION_MENU(palette_option_menu),
|
||||
default_palette);
|
||||
gtk_box_pack_start(GTK_BOX(hbox), palette_option_menu, TRUE, TRUE, 2);
|
||||
gtk_widget_show(palette_option_menu);
|
||||
gtk_widget_show (hbox);
|
||||
}
|
||||
}
|
||||
|
||||
/* 'mono palette' */
|
||||
|
@ -456,14 +458,19 @@ build_palette_menu(int *default_palette){
|
|||
PaletteEntriesP entries;
|
||||
int i;
|
||||
|
||||
menu = gtk_menu_new();
|
||||
list = palette_entries_list;
|
||||
|
||||
if(!palette_entries_list) {
|
||||
/* fprintf(stderr, "no palette_entries_list, building...\n");*/
|
||||
palette_init_palettes();
|
||||
}
|
||||
|
||||
list = palette_entries_list;
|
||||
|
||||
if (!list)
|
||||
return NULL;
|
||||
|
||||
menu = gtk_menu_new();
|
||||
|
||||
for(i=0,list = palette_entries_list,*default_palette=-1;
|
||||
list;
|
||||
i++,list = next_item (list))
|
||||
|
|
|
@ -378,27 +378,29 @@ convert_to_indexed (void *gimage_ptr)
|
|||
gtk_widget_show (toggle);
|
||||
gtk_widget_show (hbox);
|
||||
|
||||
/* 'custom' palette from dialog */
|
||||
hbox = gtk_hbox_new (FALSE, 1);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
|
||||
toggle = gtk_radio_button_new_with_label (group, "Use custom palette");
|
||||
group = gtk_radio_button_group (GTK_RADIO_BUTTON (toggle));
|
||||
gtk_box_pack_start (GTK_BOX (hbox), toggle, TRUE, TRUE, 0);
|
||||
gtk_signal_connect (GTK_OBJECT (toggle), "toggled",
|
||||
(GtkSignalFunc) indexed_radio_update,
|
||||
&(dialog->custompal_flag));
|
||||
gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (toggle),
|
||||
dialog->custompal_flag);
|
||||
gtk_widget_show (toggle);
|
||||
|
||||
palette_option_menu = gtk_option_menu_new();
|
||||
menu = build_palette_menu(&default_palette);
|
||||
gtk_option_menu_set_menu (GTK_OPTION_MENU(palette_option_menu), menu);
|
||||
gtk_option_menu_set_history(GTK_OPTION_MENU(palette_option_menu),
|
||||
default_palette);
|
||||
gtk_box_pack_start(GTK_BOX(hbox), palette_option_menu, TRUE, TRUE, 2);
|
||||
gtk_widget_show(palette_option_menu);
|
||||
gtk_widget_show (hbox);
|
||||
if (menu) {
|
||||
/* 'custom' palette from dialog */
|
||||
hbox = gtk_hbox_new (FALSE, 1);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
|
||||
toggle = gtk_radio_button_new_with_label (group, "Use custom palette");
|
||||
group = gtk_radio_button_group (GTK_RADIO_BUTTON (toggle));
|
||||
gtk_box_pack_start (GTK_BOX (hbox), toggle, TRUE, TRUE, 0);
|
||||
gtk_signal_connect (GTK_OBJECT (toggle), "toggled",
|
||||
(GtkSignalFunc) indexed_radio_update,
|
||||
&(dialog->custompal_flag));
|
||||
gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (toggle),
|
||||
dialog->custompal_flag);
|
||||
gtk_widget_show (toggle);
|
||||
|
||||
palette_option_menu = gtk_option_menu_new();
|
||||
gtk_option_menu_set_menu (GTK_OPTION_MENU(palette_option_menu), menu);
|
||||
gtk_option_menu_set_history(GTK_OPTION_MENU(palette_option_menu),
|
||||
default_palette);
|
||||
gtk_box_pack_start(GTK_BOX(hbox), palette_option_menu, TRUE, TRUE, 2);
|
||||
gtk_widget_show(palette_option_menu);
|
||||
gtk_widget_show (hbox);
|
||||
}
|
||||
}
|
||||
|
||||
/* 'mono palette' */
|
||||
|
@ -456,14 +458,19 @@ build_palette_menu(int *default_palette){
|
|||
PaletteEntriesP entries;
|
||||
int i;
|
||||
|
||||
menu = gtk_menu_new();
|
||||
list = palette_entries_list;
|
||||
|
||||
if(!palette_entries_list) {
|
||||
/* fprintf(stderr, "no palette_entries_list, building...\n");*/
|
||||
palette_init_palettes();
|
||||
}
|
||||
|
||||
list = palette_entries_list;
|
||||
|
||||
if (!list)
|
||||
return NULL;
|
||||
|
||||
menu = gtk_menu_new();
|
||||
|
||||
for(i=0,list = palette_entries_list,*default_palette=-1;
|
||||
list;
|
||||
i++,list = next_item (list))
|
||||
|
|
Loading…
Reference in a new issue