genode/repos/gems/src/server/wm
Norman Feske 493386ed27 wm: prevent superfluous session upgrades
For each session upgrade performed by a wm client as part of the
Nitpicker::Connection::buffer function, the window manager wrongly
upgraded the wrapped nitpicker session twice: Once by handling the
Root::upgrade, and again by handling of the server-side 'buffer'
operation. Here, the 'buffer' operation was implemented by not merely
forwarding the RPC request to the wrapped nitpicker session but by
calling the 'buffer' method on the wrapped session's connection
object, which implictly issues session upgrades. Consequently,
the window manager would transfer twice the amount of the session
upgrades it received by its clients to nitpicker and eventually ran
out of memory.

The patch fixes the problem by eliminating the call of the
Nitpicker::Connection::buffer method and instead merely forward the RPC
requests to the wrapped nitpicker sessions.
2015-11-27 12:18:53 +01:00
..
decorator_nitpicker.h wm: prevent superfluous session upgrades 2015-11-27 12:18:53 +01:00
direct_nitpicker.h wm: support clients in "direct" role 2015-10-06 12:18:55 +02:00
last_motion.h wm: decouple decorator and layouter from wm 2015-07-06 12:22:28 +02:00
layouter_nitpicker.h wm: provide physical screen mode to layouter 2015-10-06 12:18:56 +02:00
main.cc wm: support clients in "direct" role 2015-10-06 12:18:55 +02:00
nitpicker.h wm: prevent superfluous session upgrades 2015-11-27 12:18:53 +01:00
target.mk Window manager 2014-08-12 13:08:02 +02:00
window_registry.h wm/layouter/decorator: propagate window controls 2015-10-06 12:18:55 +02:00