1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 03:47:34 +00:00

PixelPaint: Fix crash when started with path

This change fixes the initial tool selection when pixelpaint is started
with a path. Previously an already existing editor was expected when
the default tool was initially propagated - which was not the case if
pixelpaint was launched to directly load an existing image.
This commit is contained in:
Torstennator 2024-01-01 17:29:13 +01:00 committed by Andreas Kling
parent 4e09ee1f2f
commit 82e85172e5
3 changed files with 17 additions and 8 deletions

View file

@ -61,9 +61,11 @@ MainWidget::MainWidget()
m_toolbox->on_tool_selection = [&](auto* tool) {
auto* editor = current_image_editor();
VERIFY(editor);
editor->set_active_tool(tool);
m_tool_properties_widget->set_active_tool(tool);
// Ignore tool selection changes if we don't have an editor yet, e.g. if PixelPaint is started with a path argument.
if (editor) {
editor->set_active_tool(tool);
m_tool_properties_widget->set_active_tool(tool);
}
};
m_tab_widget->on_middle_click = [&](auto& widget) {
@ -1298,6 +1300,7 @@ void MainWidget::open_image(FileSystemAccessClient::File file)
editor.set_path(file.filename().to_byte_string());
editor.set_unmodified();
m_layer_list_widget->set_image(&image);
m_toolbox->ensure_tool_selection();
GUI::Application::the()->set_most_recently_open_file(file.filename());
}