mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-07 19:34:56 +00:00
parent
aee90ed453
commit
c6c79acf8e
@ -27,9 +27,10 @@ struct Local_reporter
|
||||
|
||||
char const *_name;
|
||||
|
||||
Local_reporter(char const *name, Genode::Capability<Report::Session> session_cap)
|
||||
Local_reporter(Genode::Region_map &rm, char const *name,
|
||||
Genode::Capability<Report::Session> session_cap)
|
||||
:
|
||||
_session(session_cap), _ds(_session.dataspace()), _name(name)
|
||||
_session(session_cap), _ds(rm, _session.dataspace()), _name(name)
|
||||
{ }
|
||||
|
||||
struct Xml_generator : public Genode::Xml_generator
|
||||
|
@ -159,6 +159,8 @@ struct Wm::Decorator_nitpicker_session : Genode::Rpc_object<Nitpicker::Session>,
|
||||
|
||||
Genode::Env &_env;
|
||||
|
||||
Genode::Heap _heap { _env.ram(), _env.rm() };
|
||||
|
||||
Ram_session_client _ram;
|
||||
|
||||
Nitpicker::Connection _nitpicker_session { _env, "decorator" };
|
||||
@ -180,12 +182,12 @@ struct Wm::Decorator_nitpicker_session : Genode::Rpc_object<Nitpicker::Session>,
|
||||
Decorator_content_callback &_content_callback;
|
||||
|
||||
/* XXX don't allocate content-registry entries from heap */
|
||||
Decorator_content_registry _content_registry { *Genode::env()->heap() };
|
||||
Decorator_content_registry _content_registry { _heap };
|
||||
|
||||
Allocator &_md_alloc;
|
||||
|
||||
/* Nitpicker::Connection requires a valid input session */
|
||||
Input::Session_component _dummy_input_component;
|
||||
Input::Session_component _dummy_input_component { _env, _env.ram() };
|
||||
Input::Session_capability _dummy_input_component_cap =
|
||||
_env.ep().manage(_dummy_input_component);
|
||||
|
||||
@ -448,7 +450,7 @@ struct Wm::Decorator_nitpicker_session : Genode::Rpc_object<Nitpicker::Session>,
|
||||
/*
|
||||
* See comment in 'Wm::Nitpicker::Session_component::buffer'.
|
||||
*/
|
||||
Nitpicker::Session_client(_nitpicker_session.cap()).buffer(mode, use_alpha);
|
||||
Nitpicker::Session_client(_env.rm(), _nitpicker_session.cap()).buffer(mode, use_alpha);
|
||||
}
|
||||
|
||||
void focus(Genode::Capability<Nitpicker::Session>) { }
|
||||
|
@ -26,16 +26,17 @@ class Wm::Direct_nitpicker_session : public Genode::Rpc_object<Nitpicker::Sessio
|
||||
private:
|
||||
|
||||
Genode::Session_label _session_label;
|
||||
Nitpicker::Connection _session { _session_label.string() };
|
||||
Nitpicker::Connection _session;
|
||||
|
||||
public:
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
Direct_nitpicker_session(Genode::Session_label const &session_label)
|
||||
Direct_nitpicker_session(Genode::Env &env, Genode::Session_label const &session_label)
|
||||
:
|
||||
_session_label(session_label)
|
||||
_session_label(session_label),
|
||||
_session(env, _session_label.string())
|
||||
{ }
|
||||
|
||||
void upgrade(char const *args)
|
||||
|
@ -41,11 +41,11 @@ struct Wm::Layouter_nitpicker_session : Genode::Rpc_object<Nitpicker::Session>
|
||||
|
||||
Attached_ram_dataspace _command_ds;
|
||||
|
||||
Layouter_nitpicker_session(Genode::Ram_session &ram,
|
||||
Layouter_nitpicker_session(Genode::Env &env,
|
||||
Input::Session_capability input_session_cap)
|
||||
:
|
||||
_input_session_cap(input_session_cap),
|
||||
_command_ds(&ram, 4096)
|
||||
_mode_sigh_nitpicker(env), _command_ds(env.ram(), env.rm(), 4096)
|
||||
{ }
|
||||
|
||||
|
||||
|
@ -59,7 +59,7 @@ struct Wm::Main
|
||||
|
||||
Window_registry window_registry { heap, window_list_reporter };
|
||||
|
||||
Nitpicker::Connection focus_nitpicker_session;
|
||||
Nitpicker::Connection focus_nitpicker_session { env };
|
||||
|
||||
Nitpicker::Root nitpicker_root { env, window_registry,
|
||||
heap, env.ram_session_cap(),
|
||||
|
@ -444,7 +444,7 @@ class Wm::Nitpicker::Session_component : public Rpc_object<Nitpicker::Session>,
|
||||
Tslab<Child_view, 4000> _child_view_alloc;
|
||||
List<Top_level_view> _top_level_views;
|
||||
List<Child_view> _child_views;
|
||||
Input::Session_component _input_session;
|
||||
Input::Session_component _input_session { _env, _ram };
|
||||
Input::Session_capability _input_session_cap;
|
||||
Click_handler &_click_handler;
|
||||
Signal_context_capability _mode_sigh;
|
||||
@ -457,7 +457,7 @@ class Wm::Nitpicker::Session_component : public Rpc_object<Nitpicker::Session>,
|
||||
*/
|
||||
typedef Nitpicker::Session::Command_buffer Command_buffer;
|
||||
|
||||
Attached_ram_dataspace _command_ds { &_ram, sizeof(Command_buffer) };
|
||||
Attached_ram_dataspace _command_ds { _ram, _env.rm(), sizeof(Command_buffer) };
|
||||
|
||||
Command_buffer &_command_buffer = *_command_ds.local_addr<Command_buffer>();
|
||||
|
||||
@ -472,8 +472,8 @@ class Wm::Nitpicker::Session_component : public Rpc_object<Nitpicker::Session>,
|
||||
/*
|
||||
* Input
|
||||
*/
|
||||
Input::Session_client _nitpicker_input { _session.input_session() };
|
||||
Attached_dataspace _nitpicker_input_ds { _nitpicker_input.dataspace() };
|
||||
Input::Session_client _nitpicker_input { _env.rm(), _session.input_session() };
|
||||
Attached_dataspace _nitpicker_input_ds { _env.rm(), _nitpicker_input.dataspace() };
|
||||
|
||||
Signal_handler<Session_component> _input_handler {
|
||||
_env.ep(), *this, &Session_component::_handle_input };
|
||||
@ -964,7 +964,7 @@ class Wm::Nitpicker::Session_component : public Rpc_object<Nitpicker::Session>,
|
||||
* session upgrades initiated by the wm client's buffer
|
||||
* operation twice.
|
||||
*/
|
||||
Nitpicker::Session_client(_session.cap()).buffer(mode, has_alpha);
|
||||
Nitpicker::Session_client(_env.rm(), _session.cap()).buffer(mode, has_alpha);
|
||||
_has_alpha = has_alpha;
|
||||
}
|
||||
|
||||
@ -1005,7 +1005,7 @@ class Wm::Nitpicker::Root : public Genode::Rpc_object<Genode::Typed_root<Session
|
||||
|
||||
Window_registry &_window_registry;
|
||||
|
||||
Input::Session_component _window_layouter_input;
|
||||
Input::Session_component _window_layouter_input { _env, _env.ram() };
|
||||
|
||||
Input::Session_capability _window_layouter_input_cap { _env.ep().manage(_window_layouter_input) };
|
||||
|
||||
@ -1165,8 +1165,7 @@ class Wm::Nitpicker::Root : public Genode::Rpc_object<Genode::Typed_root<Session
|
||||
case ROLE_LAYOUTER:
|
||||
{
|
||||
_layouter_session = new (_md_alloc)
|
||||
Layouter_nitpicker_session(*Genode::env()->ram_session(),
|
||||
_window_layouter_input_cap);
|
||||
Layouter_nitpicker_session(_env, _window_layouter_input_cap);
|
||||
|
||||
return _env.ep().manage(*_layouter_session);
|
||||
}
|
||||
@ -1174,7 +1173,7 @@ class Wm::Nitpicker::Root : public Genode::Rpc_object<Genode::Typed_root<Session
|
||||
case ROLE_DIRECT:
|
||||
{
|
||||
Direct_nitpicker_session *session = new (_md_alloc)
|
||||
Direct_nitpicker_session(session_label);
|
||||
Direct_nitpicker_session(_env, session_label);
|
||||
|
||||
return _env.ep().manage(*session);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user