AK: Add Eternal<T> and use it in various places.

This is useful for static locals that never need to be destroyed:

Thing& Thing::the()
{
    static Eternal<Thing> the;
    return the;
}

The object will be allocated in data segment memory and will never have
its destructor invoked.
This commit is contained in:
Andreas Kling 2019-04-03 16:50:08 +02:00
parent 528054d192
commit c02c9880b6
Notes: sideshowbarker 2024-07-19 14:50:10 +09:00
23 changed files with 78 additions and 81 deletions

View file

@ -785,7 +785,7 @@ void GTextEditor::cut()
{
auto selected_text = this->selected_text();
printf("Cut: \"%s\"\n", selected_text.characters());
GClipboard::the().set_data(selected_text);
GClipboard::set_data(selected_text);
delete_selection();
}
@ -793,12 +793,12 @@ void GTextEditor::copy()
{
auto selected_text = this->selected_text();
printf("Copy: \"%s\"\n", selected_text.characters());
GClipboard::the().set_data(selected_text);
GClipboard::set_data(selected_text);
}
void GTextEditor::paste()
{
auto paste_text = GClipboard::the().data();
auto paste_text = GClipboard::data();
printf("Paste: \"%s\"\n", paste_text.characters());
insert_at_cursor_or_replace_selection(paste_text);
}