diff options
author | Andreas Kling <kling@serenityos.org> | 2020-03-04 20:53:51 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2020-03-04 21:04:06 +0100 |
commit | b29ff7b821ba4752a797d610c8f41d1a20f83d86 (patch) | |
tree | a1f848e7e7d3d7c97c05331cad8ea3f9037e5cb6 /Applications/HexEditor | |
parent | dfa69b82b4233494e65af53bdd620ab33e0c043a (diff) | |
download | serenity-b29ff7b821ba4752a797d610c8f41d1a20f83d86.zip |
LibGUI: Don't use Core::Object::add() to instantiate dialogs
Now that add() returns a WidgetType&, we can't rely on the parent of a
GUI::Dialog to still keep it alive after exec() returns. This happens
because exec() will call remove_from_parent() on itself before
returning.
And so we go back to the old idiom for creating a GUI::Dialog centered
above a specific window. Just call GUI::Dialog::construct(), passing
the "parent" window as the last parameter.
Diffstat (limited to 'Applications/HexEditor')
-rw-r--r-- | Applications/HexEditor/HexEditorWidget.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Applications/HexEditor/HexEditorWidget.cpp b/Applications/HexEditor/HexEditorWidget.cpp index a03da9a106..22c81bfde4 100644 --- a/Applications/HexEditor/HexEditorWidget.cpp +++ b/Applications/HexEditor/HexEditorWidget.cpp @@ -78,7 +78,7 @@ HexEditorWidget::HexEditorWidget() m_save_action->activate(); } - auto input_box = GUI::InputBox::construct("Enter new file size:", "New file size", this); + auto input_box = GUI::InputBox::construct("Enter new file size:", "New file size", window()); if (input_box->exec() == GUI::InputBox::ExecOK && !input_box->text_value().is_empty()) { auto valid = false; auto file_size = input_box->text_value().to_int(valid); @@ -154,7 +154,7 @@ HexEditorWidget::HexEditorWidget() } m_goto_decimal_offset_action = GUI::Action::create("Go To Offset (Decimal)...", { Mod_Ctrl | Mod_Shift, Key_G }, Gfx::Bitmap::load_from_file("/res/icons/16x16/go-forward.png"), [this](const GUI::Action&) { - auto input_box = GUI::InputBox::construct("Enter Decimal offset:", "Go To", this); + auto input_box = GUI::InputBox::construct("Enter Decimal offset:", "Go To", window()); if (input_box->exec() == GUI::InputBox::ExecOK && !input_box->text_value().is_empty()) { auto valid = false; auto new_offset = input_box->text_value().to_int(valid); @@ -165,7 +165,7 @@ HexEditorWidget::HexEditorWidget() }); m_goto_hex_offset_action = GUI::Action::create("Go To Offset (Hex)...", { Mod_Ctrl, Key_G }, Gfx::Bitmap::load_from_file("/res/icons/16x16/go-forward.png"), [this](const GUI::Action&) { - auto input_box = GUI::InputBox::construct("Enter Hex offset:", "Go To", this); + auto input_box = GUI::InputBox::construct("Enter Hex offset:", "Go To", window()); if (input_box->exec() == GUI::InputBox::ExecOK && !input_box->text_value().is_empty()) { auto new_offset = strtol(input_box->text_value().characters(), nullptr, 16); m_editor->set_position(new_offset); @@ -174,7 +174,7 @@ HexEditorWidget::HexEditorWidget() auto edit_menu = GUI::Menu::construct("Edit"); edit_menu->add_action(GUI::Action::create("Fill selection...", { Mod_Ctrl, Key_B }, [&](const GUI::Action&) { - auto input_box = GUI::InputBox::construct("Fill byte (hex):", "Fill Selection", this); + auto input_box = GUI::InputBox::construct("Fill byte (hex):", "Fill Selection", window()); if (input_box->exec() == GUI::InputBox::ExecOK && !input_box->text_value().is_empty()) { auto fill_byte = strtol(input_box->text_value().characters(), nullptr, 16); m_editor->fill_selection(fill_byte); |