View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0001950 | OpenClonk | Engine - C4Script | public | 2017-10-27 13:45 | 2017-11-11 08:18 | ||||
Reporter | Clonkonaut | ||||||||
Assigned To | Maikel | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | PC | OS | Windows | OS Version | 10 | ||||
Product Version | |||||||||
Target Version | 8.0 | Fixed in Version | git master | ||||||
Summary | 0001950: RemoveObject(true) in Container, no Collection callback | ||||||||
Description | When RemoveObject(true); is called in an contained object, the contents will be exited into the container. The container, however, does not receive any Collection/Collection2 callbacks. This is especially bad as it breaks the inventory display for the clonk. | ||||||||
Steps To Reproduce | Create a crate, fill it with stuff, pick up with a clonk. Call Contents()->RemoveObject(true) on the clonk. You won't see the contents of the crate in the inventory bar. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files |
|
![]() |
||||||
|
![]() |
|
Clonkonaut (developer) 2017-10-27 13:53 |
Ah and of course no RejectCollect callback. With this, you can overfill containers/clonks. |
Maikel (developer) 2017-11-10 09:25 Last edited: 2017-11-10 09:45 |
Is there any reason these calls could lead to problems elsewhere? We can easily enable them by updating the Enter function in here: https://github.com/openclonk/openclonk/blob/master/src/object/C4Object.cpp#L309. I would do that if no body objects or finds a reason not to do that. |
Clonkonaut (developer) 2017-11-10 18:24 |
Off the top of my head I can't think of a reason why this leads to problems. I'd rather say it's the expected behaviour. |
occ (reporter) 2017-11-11 08:14 |
Hi! There's been a check-in that references this bug. For more information you can visit the repository browser at this address: https://git.openclonk.org/openclonk.git/commitdiff/a9675eafa3de9ebd0066114c63b542c02f45f051 Changeset a9675ea by Maikel de Vries <mdt.maikel@gmail.com> perform callbacks when moving contents when container is removed (0001950) |
Maikel (developer) 2017-11-11 08:18 |
Fixed this, checked that crate works now. Let's keep an eye open for unexpected behavior. |
![]() |
|||
Date Modified | Username | Field | Change |
---|---|---|---|
2017-10-27 13:45 | Clonkonaut | New Issue | |
2017-10-27 13:53 | Clonkonaut | Note Added: 0005873 | |
2017-10-27 13:58 | Clonkonaut | Target Version | => 8.0 |
2017-10-27 13:58 | Clonkonaut | Relationship added | related to 0001041 |
2017-11-10 09:25 | Maikel | Note Added: 0005892 | |
2017-11-10 09:45 | Maikel | Note Edited: 0005892 | View Revisions |
2017-11-10 18:24 | Clonkonaut | Note Added: 0005898 | |
2017-11-11 08:14 | occ | Note Added: 0005899 | |
2017-11-11 08:18 | Maikel | Assigned To | => Maikel |
2017-11-11 08:18 | Maikel | Status | new => resolved |
2017-11-11 08:18 | Maikel | Resolution | open => fixed |
2017-11-11 08:18 | Maikel | Fixed in Version | => git master |
2017-11-11 08:18 | Maikel | Note Added: 0005900 |