diff options
Diffstat (limited to 'client/screen_layer.cpp')
-rw-r--r-- | client/screen_layer.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/client/screen_layer.cpp b/client/screen_layer.cpp index f521b465..9940ad86 100644 --- a/client/screen_layer.cpp +++ b/client/screen_layer.cpp @@ -24,18 +24,23 @@ class AttacheLayerEvent: public SyncEvent { public: - AttacheLayerEvent(ScreenLayer& layer, int screen_id) : _layer (layer), _screen_id (screen_id) {} + AttacheLayerEvent(ScreenLayer& layer, int screen_id) + : _layer (layer) + , _screen_id (screen_id) + { + } - virtual void do_responce(Application& application); + virtual void do_response(AbstractProcessLoop& events_loop); private: ScreenLayer& _layer; int _screen_id; }; -void AttacheLayerEvent::do_responce(Application& application) +void AttacheLayerEvent::do_response(AbstractProcessLoop& events_loop) { - AutoRef<RedScreen> screen(application.get_screen(_screen_id)); + Application* app = (Application*)(events_loop.get_owner()); + AutoRef<RedScreen> screen(app->get_screen(_screen_id)); (*screen)->attach_layer(_layer); } @@ -43,13 +48,13 @@ class DetacheLayerEvent: public SyncEvent { public: DetacheLayerEvent(ScreenLayer& _layer) : _layer (_layer) {} - virtual void do_responce(Application& application); + virtual void do_response(AbstractProcessLoop& events_loop); private: ScreenLayer& _layer; }; -void DetacheLayerEvent::do_responce(Application& application) +void DetacheLayerEvent::do_response(AbstractProcessLoop& events_loop) { _layer.screen()->detach_layer(_layer); } |