app: update the GimpFgBgEditor when image colormap is updated.
This commit is contained in:
@ -882,9 +882,20 @@ gimp_fg_bg_editor_image_changed (GimpFgBgEditor *editor,
|
||||
gtk_widget_queue_draw (GTK_WIDGET (editor));
|
||||
|
||||
if (editor->active_image)
|
||||
{
|
||||
g_signal_handlers_disconnect_by_func (editor->active_image,
|
||||
G_CALLBACK (gtk_widget_queue_draw),
|
||||
editor);
|
||||
if (gimp_image_get_base_type (editor->active_image) == GIMP_INDEXED)
|
||||
{
|
||||
GimpPalette *palette;
|
||||
|
||||
palette = gimp_image_get_colormap_palette (editor->active_image);
|
||||
g_signal_handlers_disconnect_by_func (palette,
|
||||
G_CALLBACK (gtk_widget_queue_draw),
|
||||
editor);
|
||||
}
|
||||
}
|
||||
editor->active_image = image;
|
||||
if (image)
|
||||
{
|
||||
@ -894,5 +905,15 @@ gimp_fg_bg_editor_image_changed (GimpFgBgEditor *editor,
|
||||
g_signal_connect_swapped (image, "colormap-changed",
|
||||
G_CALLBACK (gtk_widget_queue_draw),
|
||||
editor);
|
||||
|
||||
if (gimp_image_get_base_type (image) == GIMP_INDEXED)
|
||||
{
|
||||
GimpPalette *palette;
|
||||
|
||||
palette = gimp_image_get_colormap_palette (editor->active_image);
|
||||
g_signal_connect_swapped (palette, "dirty",
|
||||
G_CALLBACK (gtk_widget_queue_draw),
|
||||
editor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user