Menu

#258 do_pushmethod on deleted objects

general
open
nobody
GUI/Zune (42)
5
2010-04-26
2010-04-26
No

As reported by Bernd Roesch:

YAM 2.6 release do PushMethod, delete the object and later on
do_pushedmethods zune execute OM_Set but the object is not here.

this situation happen with some settings, when write a mail and press send
now.
On older YAM this problem is not in.

this situation say clear that MUI have some checks that objects that are
delete, are remove from the PushMethod List

maybe somebody have a suggestion what can do to make zune more MUI
compatible.I think its important, programmers seem not notice on MUI when
they push a method, delete a object before they call getmessage

the sanity check i send in last mail can help,but its no clean solution.a
test with that code work.

please help for better code

if ((nnode->nn_safety) != 0x83828181)
{
// TRAP
kprintf("wrong object data in OM_notify set detect do Enforcer Hit for
backtrace\n");
__asm("tst.b 0xf0000000\n");

return 4711;
}

but of course only with YAM and it look really not clean.its only a better
than crash solution

in area.c

static void handle_release(struct IClass *cl, Object *obj, int cancel)
{
struct MUI_AreaData *data = INST_DATA(cl, obj);
int ret;
if (data->mad_InputMode == MUIV_InputMode_RelVerify)
{
if (data->mad_Flags & MADF_SELECTED)
{
if (cancel)
nnset(obj, MUIA_Pressed, FALSE);
else
{
ret=set(obj, MUIA_Pressed, FALSE);
if (ret ==4711)return;
}
set(obj, MUIA_Selected, FALSE);
}
}

Discussion


Log in to post a comment.