summaryrefslogtreecommitdiff
path: root/Applications/HexEditor
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2020-03-04 20:53:51 +0100
committerAndreas Kling <kling@serenityos.org>2020-03-04 21:04:06 +0100
commitb29ff7b821ba4752a797d610c8f41d1a20f83d86 (patch)
treea1f848e7e7d3d7c97c05331cad8ea3f9037e5cb6 /Applications/HexEditor
parentdfa69b82b4233494e65af53bdd620ab33e0c043a (diff)
downloadserenity-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.cpp8
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);