diff options
author | Andreas Kling <awesomekling@gmail.com> | 2019-09-22 20:50:39 +0200 |
---|---|---|
committer | Andreas Kling <awesomekling@gmail.com> | 2019-09-22 20:50:39 +0200 |
commit | 34d0e96aec89ea643cd5eb3e279a46a7542aac64 (patch) | |
tree | 60b998f4e1d2a27ed7d322aa39530f9c705aec27 /Libraries | |
parent | edac8704de561c30f225e148e31c641fd53db079 (diff) | |
download | serenity-34d0e96aec89ea643cd5eb3e279a46a7542aac64.zip |
LibCore+LibGUI: Remove GEventLoop and use CEventLoop everywhere
GEventLoop was just a dummy subclass of CEventLoop anyway. The only
thing it actually did was make sure a GWindowServerConnectionw was
instantiated. We now take care of that in GApplication instead.
CEventLoop is now non-virtual and a little less confusing. :^)
Diffstat (limited to 'Libraries')
-rw-r--r-- | Libraries/LibCore/CEventLoop.cpp | 1 | ||||
-rw-r--r-- | Libraries/LibCore/CEventLoop.h | 2 | ||||
-rw-r--r-- | Libraries/LibGUI/GApplication.cpp | 3 | ||||
-rw-r--r-- | Libraries/LibGUI/GApplication.h | 4 | ||||
-rw-r--r-- | Libraries/LibGUI/GDialog.cpp | 5 | ||||
-rw-r--r-- | Libraries/LibGUI/GDialog.h | 4 | ||||
-rw-r--r-- | Libraries/LibGUI/GEventLoop.cpp | 11 | ||||
-rw-r--r-- | Libraries/LibGUI/GEventLoop.h | 11 | ||||
-rw-r--r-- | Libraries/LibGUI/GWindow.cpp | 8 |
9 files changed, 13 insertions, 36 deletions
diff --git a/Libraries/LibCore/CEventLoop.cpp b/Libraries/LibCore/CEventLoop.cpp index 68ef3bd753..17be63d020 100644 --- a/Libraries/LibCore/CEventLoop.cpp +++ b/Libraries/LibCore/CEventLoop.cpp @@ -181,6 +181,7 @@ CEventLoop& CEventLoop::current() void CEventLoop::quit(int code) { + dbg() << "CEventLoop::quit(" << code << ")"; m_exit_requested = true; m_exit_code = code; } diff --git a/Libraries/LibCore/CEventLoop.h b/Libraries/LibCore/CEventLoop.h index 16538e2c48..d4de3fc211 100644 --- a/Libraries/LibCore/CEventLoop.h +++ b/Libraries/LibCore/CEventLoop.h @@ -18,7 +18,7 @@ class CNotifier; class CEventLoop { public: CEventLoop(); - virtual ~CEventLoop(); + ~CEventLoop(); int exec(); diff --git a/Libraries/LibGUI/GApplication.cpp b/Libraries/LibGUI/GApplication.cpp index ca2c0b061d..770204e1a9 100644 --- a/Libraries/LibGUI/GApplication.cpp +++ b/Libraries/LibGUI/GApplication.cpp @@ -21,7 +21,8 @@ GApplication::GApplication(int argc, char** argv) (void)argv; ASSERT(!s_the); s_the = this; - m_event_loop = make<GEventLoop>(); + m_event_loop = make<CEventLoop>(); + GWindowServerConnection::the(); } GApplication::~GApplication() diff --git a/Libraries/LibGUI/GApplication.h b/Libraries/LibGUI/GApplication.h index 4b571cc6da..d217de75d4 100644 --- a/Libraries/LibGUI/GApplication.h +++ b/Libraries/LibGUI/GApplication.h @@ -5,8 +5,8 @@ #include <AK/OwnPtr.h> #include <LibGUI/GShortcut.h> +class CEventLoop; class GAction; -class GEventLoop; class GKeyEvent; class GMenuBar; class GWindow; @@ -36,7 +36,7 @@ public: void did_delete_last_window(Badge<GWindow>); private: - OwnPtr<GEventLoop> m_event_loop; + OwnPtr<CEventLoop> m_event_loop; OwnPtr<GMenuBar> m_menubar; HashMap<GShortcut, GAction*> m_global_shortcut_actions; class TooltipWindow; diff --git a/Libraries/LibGUI/GDialog.cpp b/Libraries/LibGUI/GDialog.cpp index a3cd4a5e0f..1db0fbadf4 100644 --- a/Libraries/LibGUI/GDialog.cpp +++ b/Libraries/LibGUI/GDialog.cpp @@ -1,12 +1,10 @@ #include <LibGUI/GDesktop.h> #include <LibGUI/GDialog.h> -#include <LibGUI/GEventLoop.h> GDialog::GDialog(CObject* parent) : GWindow(parent) { set_modal(true); - } GDialog::~GDialog() @@ -16,7 +14,7 @@ GDialog::~GDialog() int GDialog::exec() { ASSERT(!m_event_loop); - m_event_loop = make<GEventLoop>(); + m_event_loop = make<CEventLoop>(); auto new_rect = rect(); if (parent() && parent()->is_window()) { auto& parent_window = *static_cast<GWindow*>(parent()); @@ -47,4 +45,3 @@ void GDialog::close() GWindow::close(); m_event_loop->quit(ExecCancel); } - diff --git a/Libraries/LibGUI/GDialog.h b/Libraries/LibGUI/GDialog.h index 6b3bbb7f04..581d2b406e 100644 --- a/Libraries/LibGUI/GDialog.h +++ b/Libraries/LibGUI/GDialog.h @@ -1,6 +1,6 @@ #pragma once -#include <LibGUI/GEventLoop.h> +#include <LibCore/CEventLoop.h> #include <LibGUI/GWindow.h> class GDialog : public GWindow { @@ -25,6 +25,6 @@ protected: explicit GDialog(CObject* parent); private: - OwnPtr<GEventLoop> m_event_loop; + OwnPtr<CEventLoop> m_event_loop; int m_result { ExecAborted }; }; diff --git a/Libraries/LibGUI/GEventLoop.cpp b/Libraries/LibGUI/GEventLoop.cpp index 2d3c5e3d5d..2736a2a3ad 100644 --- a/Libraries/LibGUI/GEventLoop.cpp +++ b/Libraries/LibGUI/GEventLoop.cpp @@ -43,17 +43,6 @@ void GWindowServerConnection::handshake() handle_greeting(response); } -GEventLoop::GEventLoop() -{ - // ensure the WS connection is up, as our users might be expecting it to be - // valid very early (via e.g. GDesktop) :) - GWindowServerConnection::the(); -} - -GEventLoop::~GEventLoop() -{ -} - void GWindowServerConnection::handle_paint_event(const WSAPI_ServerMessage& event, GWindow& window, const ByteBuffer& extra_data) { #ifdef GEVENTLOOP_DEBUG diff --git a/Libraries/LibGUI/GEventLoop.h b/Libraries/LibGUI/GEventLoop.h index 8171300216..522dcb9bcd 100644 --- a/Libraries/LibGUI/GEventLoop.h +++ b/Libraries/LibGUI/GEventLoop.h @@ -33,14 +33,3 @@ private: void handle_wm_event(const WSAPI_ServerMessage&, GWindow&); void handle_greeting(WSAPI_ServerMessage&); }; - -class GEventLoop final : public CEventLoop { -public: - GEventLoop(); - virtual ~GEventLoop() override; - - static GEventLoop& current() { return static_cast<GEventLoop&>(CEventLoop::current()); } - -private: - void process_unprocessed_bundles(); -}; diff --git a/Libraries/LibGUI/GWindow.cpp b/Libraries/LibGUI/GWindow.cpp index 59fe675d07..c05f7fe4b4 100644 --- a/Libraries/LibGUI/GWindow.cpp +++ b/Libraries/LibGUI/GWindow.cpp @@ -497,12 +497,12 @@ void GWindow::set_focused_widget(GWidget* widget) if (m_focused_widget == widget) return; if (m_focused_widget) { - GEventLoop::current().post_event(*m_focused_widget, make<GEvent>(GEvent::FocusOut)); + CEventLoop::current().post_event(*m_focused_widget, make<GEvent>(GEvent::FocusOut)); m_focused_widget->update(); } m_focused_widget = widget ? widget->make_weak_ptr() : nullptr; if (m_focused_widget) { - GEventLoop::current().post_event(*m_focused_widget, make<GEvent>(GEvent::FocusIn)); + CEventLoop::current().post_event(*m_focused_widget, make<GEvent>(GEvent::FocusIn)); m_focused_widget->update(); } } @@ -567,12 +567,12 @@ void GWindow::set_hovered_widget(GWidget* widget) return; if (m_hovered_widget) - GEventLoop::current().post_event(*m_hovered_widget, make<GEvent>(GEvent::Leave)); + CEventLoop::current().post_event(*m_hovered_widget, make<GEvent>(GEvent::Leave)); m_hovered_widget = widget ? widget->make_weak_ptr() : nullptr; if (m_hovered_widget) - GEventLoop::current().post_event(*m_hovered_widget, make<GEvent>(GEvent::Enter)); + CEventLoop::current().post_event(*m_hovered_widget, make<GEvent>(GEvent::Enter)); } void GWindow::set_current_backing_bitmap(GraphicsBitmap& bitmap, bool flush_immediately) |