View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000806 | LDMud 3.3 | Efuns | public | 2012-07-11 21:07 | 2012-07-12 20:45 |
| Reporter | abathur | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | no change required | ||
| Product Version | 3.3.719 | ||||
| Summary | 0000806: simul_efun call_other causes recursion on call_other to same function in shadowed object by shadowing object | ||||
| Description | I was playing around with a simul_efun wrapper for call_other to see if I could improve support for H_DEFAULT_METHOD in shadows and ran into some recursion issues with even a simple wrapper, which seems to break the driver's default behavior for call_other on shadowed objects. Apologies if this is a problem on my end. | ||||
| Steps To Reproduce | 1.) In simul_efun, define: varargs mixed call_other(object ob, string fun, varargs mixed * arg) { return efun::call_other(ob, fun, arg...); } 2.) Load shadow blueprint. 3.) Call method in a shadow which then calls the same method in the shadowed object. | ||||
| Tags | No tags attached. | ||||
|
|
Try calling set_this_object(previous_object()); before efun::call_other. Without it you're calling 'fun' from the simul_efun and not the shadow, and therefore the shadow function are called. |
|
|
Thanks--apologies for the bunk report. |
|
|
<3 |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2012-07-11 21:07 | abathur | New Issue | |
| 2012-07-12 20:27 | Gnomi | Note Added: 0002142 | |
| 2012-07-12 20:45 | abathur | Note Added: 0002144 | |
| 2012-07-12 20:45 | abathur | Note Added: 0002145 | |
| 2012-07-12 20:45 | abathur | Status | new => closed |
| 2012-07-12 20:45 | abathur | Resolution | open => no change required |