1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 05:47:35 +00:00

PixelPaint: Make PaletteWidget::set_image_editor take a ImageEditor*

After closing the last open ImageEditor, selecting a color would try to
dereference it causing a crash. Instead make set_image_editor() take a
pointer to it and set it to nullptr when closing the last tab like we
do with LayerListWidget and LayerPropertiesWidget.
This commit is contained in:
Marcus Nilsson 2022-01-09 11:59:32 +01:00 committed by Linus Groh
parent 29bbf56286
commit 7ca4d045bd
3 changed files with 16 additions and 10 deletions

View file

@ -71,6 +71,7 @@ MainWidget::MainWidget()
if (m_tab_widget->children().size() == 0) {
m_layer_list_widget->set_image(nullptr);
m_layer_properties_widget->set_layer(nullptr);
m_palette_widget->set_image_editor(nullptr);
}
});
}
@ -78,7 +79,7 @@ MainWidget::MainWidget()
m_tab_widget->on_change = [&](auto& widget) {
auto& image_editor = verify_cast<PixelPaint::ImageEditor>(widget);
m_palette_widget->set_image_editor(image_editor);
m_palette_widget->set_image_editor(&image_editor);
m_layer_list_widget->set_image(&image_editor.image());
m_layer_properties_widget->set_layer(image_editor.active_layer());
if (auto* active_tool = m_toolbox->active_tool())