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)