Hi guys, attached is a diff between the oaf-skel.c from some older ORBit version (0.5.6) and the latest one from orbit-stable-0-5 from CVS:
--- oaf-skels.c.old Wed Mar 14 21:49:06 2001 +++ oaf-skels.c Wed Mar 14 21:49:31 2001 @@ -106,6 +106,8 @@ (*((guint32 *) & (result.res._u.res_shlib._length))) = GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr)); _ORBIT_curptr += 4; + result.res._u.res_shlib._maximum = + result.res._u.res_shlib._length; result.res._u.res_shlib._buffer = CORBA_sequence_CORBA_string_allocbuf(result.res._u.res_shlib. _length); @@ -152,6 +154,8 @@ result.res._u.res_shlib._length = *((CORBA_unsigned_long *) _ORBIT_curptr); _ORBIT_curptr += 4; + result.res._u.res_shlib._maximum = + result.res._u.res_shlib._length; result.res._u.res_shlib._buffer = CORBA_sequence_CORBA_string_allocbuf(result.res._u.res_shlib. _length); @@ -177,7 +181,7 @@ } } _impl_report_activation_succeeded(_ORBIT_servant, &(result), ev); - OAF_ActivationResult__free(&result, NULL, CORBA_FALSE); + OAF_ActivationResult__free(&result, NULL, CORBA_TRUE); } void @@ -1227,7 +1231,7 @@ } if (ev->_major == CORBA_NO_EXCEPTION) CORBA_Object_release(_ORBIT_retval, ev); - CORBA_Object_release(ac, ev); + CORBA_Object_release((CORBA_Object) ac, ev); ORBit_Context_server_free(&_ctx); } } @@ -1347,7 +1351,7 @@ giop_send_buffer_write(_ORBIT_send_buffer); giop_send_buffer_unuse(_ORBIT_send_buffer); } - CORBA_Object_release(obj, ev); + CORBA_Object_release((CORBA_Object) obj, ev); } } void @@ -1422,7 +1426,7 @@ giop_send_buffer_write(_ORBIT_send_buffer); giop_send_buffer_unuse(_ORBIT_send_buffer); } - CORBA_Object_release(obj, ev); + CORBA_Object_release((CORBA_Object) obj, ev); } } void @@ -1583,7 +1587,7 @@ giop_send_buffer_write(_ORBIT_send_buffer); giop_send_buffer_unuse(_ORBIT_send_buffer); } - CORBA_Object_release(dir, ev); + CORBA_Object_release((CORBA_Object) dir, ev); } } void @@ -1647,7 +1651,7 @@ giop_send_buffer_write(_ORBIT_send_buffer); giop_send_buffer_unuse(_ORBIT_send_buffer); } - CORBA_Object_release(dir, ev); + CORBA_Object_release((CORBA_Object) dir, ev); } } void @@ -2017,7 +2021,7 @@ } _impl_activate_async(_ORBIT_servant, requirements, &(selection_order), flags, callback_object, &_ctx, ev); - CORBA_Object_release(callback_object, ev); + CORBA_Object_release((CORBA_Object) callback_object, ev); ORBit_Context_server_free(&_ctx); } @@ -3543,7 +3547,7 @@ } _impl_activate_from_id_async(_ORBIT_servant, aid, flags, callback_object, &_ctx, ev); - CORBA_Object_release(callback_object, ev); + CORBA_Object_release((CORBA_Object) callback_object, ev); ORBit_Context_server_free(&_ctx); } static ORBitSkeleton
The IDL is from oaf-stable-0-6:
Attachment:
oaf.idl
Description: Binary data
Attachment:
oaf-factory.idl
Description: Binary data
My problem is the following: _impl_report_activation_succeeded(_ORBIT_servant, &(result), ev); - OAF_ActivationResult__free(&result, NULL, CORBA_FALSE); + OAF_ActivationResult__free(&result, NULL, CORBA_TRUE); With the newer version I get a 0xdeadbeef :-( -- Martin Baulig martin gnome org (private) baulig suse de (work)