Open Bug 768810 Opened 12 years ago Updated 2 years ago

Structs declared in ipdlh files don't get typedefs in classes in which they're used.

Categories

(Core :: IPC, defect)

defect

Tracking

()

People

(Reporter: bent.mozilla, Unassigned)

Details

In an ipdlh file I have this:

  namespace foo
  {
    struct A
    {
      uint8_t something;
    };
  }

Then in my protocol file I have this:

  namespace foo
  {
    struct B
    {
      A something;
    };
  }

  protocol PFoo
  {
    SendSomething(B arg);
  };

Basically the code generated comes out to this:

  class /*NS_ABSTRACT_CLASS*/ PFoo:
      protected mozilla::ipc::RPCChannel::RPCListener,
      protected mozilla::ipc::IProtocolManager<mozilla::ipc::RPCChannel::RPCListener>
  {
  ...
      typedef foo::B B;
  ...
      void
      Write(
              const A& __v,
              Message* __msg);
  ...
  };

All the other types we use get typedefs. The ipdlh-included type does not, and so the compile fails.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.