diff --git a/repos/gems/src/app/sculpt_manager/dialog/distant_runtime.h b/repos/gems/src/app/sculpt_manager/dialog/distant_runtime.h index 1d55d6c880..9c211e6e74 100644 --- a/repos/gems/src/app/sculpt_manager/dialog/distant_runtime.h +++ b/repos/gems/src/app/sculpt_manager/dialog/distant_runtime.h @@ -202,12 +202,12 @@ class Dialog::Distant_runtime::View : private Views::Element return false; if (child.has_sub_node("ram") && child.sub_node("ram").has_attribute("requested")) { - _ram.value *= 2; + _ram.value = min(2*_ram.value, 32*1024*1024u); result = true; } if (child.has_sub_node("caps") && child.sub_node("caps").has_attribute("requested")) { - _caps.value += 100; + _caps.value = min(_caps.value + 100, 2000u); result = true; } diff --git a/repos/gems/src/app/sculpt_manager/model/child_state.h b/repos/gems/src/app/sculpt_manager/model/child_state.h index 5f593d6c08..115a94023d 100644 --- a/repos/gems/src/app/sculpt_manager/model/child_state.h +++ b/repos/gems/src/app/sculpt_manager/model/child_state.h @@ -106,12 +106,12 @@ struct Sculpt::Child_state : Noncopyable return false; if (child.has_sub_node("ram") && child.sub_node("ram").has_attribute("requested")) { - _ram_quota.value *= 2; + _ram_quota.value = min(_ram_quota.value*2, 256*1024*1024u); result = true; } if (child.has_sub_node("caps") && child.sub_node("caps").has_attribute("requested")) { - _cap_quota.value += 100; + _cap_quota.value = min(_cap_quota.value + 100, 5000u); result = true; }