[omniORB] bug report

Stefan Seefeld seefelds@MAGELLAN.UMontreal.CA
Wed, 15 Nov 2000 15:25:29 -0500


Hi there,

I'v come across a bug in the following situation:
Given the following interface:


module Unidraw
{
interface Manipulator
{
};

interface Tool
{
  Manipulator create_manipulator();
};

interface Editor
{
  attribute Tool current_tool;
};
};

The Tool is implemented like this:

class CreateTool(Unidraw__POA.Tool):
    def __init__(self): pass
    def create_manipulator(self, traversal, event): return CreateManipulator()

This contains an obvious error, i.e. the 'CreateManipulator' is returned, not
a reference to it.

Now the bug: the editor servant lives in the server, the 'current tool' in the
client. When I try to instantiate the manipulator

Tool_var tool = editor->current_tool();
Manipulator_var manipulator = tool->create_manipulator();

I get a system exception in the server !
Clearly, the problem is in the client code, so the exception should be thrown
and caught in the client.

Regards,	Stefan
_______________________________________________________              
              
Stefan Seefeld
Departement de Physique
Universite de Montreal
email: seefelds@magellan.umontreal.ca

_______________________________________________________

      ...ich hab' noch einen Koffer in Berlin...