omniORBpy 1.3 bugs

The following bugs in omniORBpy 1.3 have been fixed. Update from Subversion to get the fixes.


Summary: Problems with omniORB.importIDL() (bug number 7)
Date: Thu Jun 21 10:26:24 BST 2001
Reported by: Joshua Reynolds
Description: Calling base class constructors in objref classes is unnecessary; removing the calls prevents the problem. importIDL() now has an "inline" flag, so unnecessary re-definitions can be avoided too.

Summary: Invalid generated code with complex IDL scoping (bug number 6)
Date: Tue Jun 12 11:19:56 BST 2001
Reported by: W. Eliot Kimber
Description: The omniidl back-end would generate invalid code for some complex scoping cases.

Summary: OverflowError with unsigned long / long long constants (bug number 5)
Date: Fri May 18 15:19:46 BST 2001
Reported by: Carl Bray
Description: Due to a change in str() between Python 1.5.2 and Python 2.x, constants mapped to Python long integers would be missing the 'L' suffix when using Python 2.x.

Summary: TypeCode.get_compact_typecode() broken (bug number 4)
Date: Fri May 11 17:22:00 BST 2001
Reported by: David Konerding
Description: get_compact_typecode() had not been kept up-to-date with the internal TypeCode interfaces.

Summary: Deadlock when releasing object references (bug number 3)
Date: Thu May 3 15:30:03 BST 2001
Reported by: John Heintz
Description: Releasing object references can lock omni::internalLock. Various places did this while holding the Python interpreter lock, which could lead to deadlock against threads holding internalLock and attempting to lock the interpreter lock.

Summary: BAD_TYPECODE exception with good TypeCode (bug number 2)
Date: Mon Apr 9 12:40:02 BST 2001
Reported by: Lars Immisch
Description: TypeCodes containing multiple references to a known enum could be unmarshalled incorrectly, leading to a BAD_TYPECODE exception.

Summary: Invalid stub code for typedef to struct/union inside interface (bug number 1)
Date: Mon Mar 19 11:33:37 GMT 2001
Reported by: Jimmy Wilson
Description: omniidl -bpython would generate invalid stub code for IDL like the following:

  interface I {
    struct S {
      long l;
    };
    typedef S T;
  };