Closed Bug 592866 Opened 9 years ago Closed 9 years ago

union in rpc method code generation seems wrong...

Categories

(Core :: IPC, defect)

x86
Linux
defect
Not set

Tracking

()

RESOLVED FIXED
Tracking Status
blocking2.0 --- betaN+

People

(Reporter: romaxa, Assigned: cjones)

References

Details

Attachments

(2 files)

add in PPluginInstance.ipdl:

using mozilla::null_t;

union MaybeShmem {
  null_t;
  Shmem;
};
rpc Flush(NPRect rect, Shmem backMem) returns (MaybeShmem rtnbuffer);


and you get compilation error, like 

./../ipc/ipdl/_ipdlheaders/mozilla/plugins/PPluginInstance.h:154: error: invalid initialization of reference of type 'mozilla::ipc::Shmem&' from expression of type 'const mozilla::ipc::Shmem'
In file included from ../../ipc/ipdl/_ipdlheaders/mozilla/plugins/PPluginInstanceParent.h:9,
                 from PBrowserStreamParent.cpp:9:
../../ipc/ipdl/_ipdlheaders/mozilla/plugins/PPluginInstance.h: In member function 'mozilla::ipc::Shmem& mozilla::plugins::MaybeShmem::get_Shmem() const':
../../ipc/ipdl/_ipdlheaders/mozilla/plugins/PPluginInstance.h:154: error: invalid initialization of reference of type 'mozilla::ipc::Shmem&' from expression of type 'const mozilla::ipc::Shmem'
In file included from ../../ipc/ipdl/_ipdlheaders/mozilla/plugins/PPluginInstanceParent.h:9,
                 from PPluginStreamParent.cpp:9:
../../ipc/ipdl/_ipdlheaders/mozilla/plugins/PPluginInstance.h: In member function 'mozilla::ipc::Shmem& mozilla::plugins::MaybeShmem::get_Shmem() const':
Assignee: nobody → jones.chris.g
Attachment #471309 - Flags: review?(bent.mozilla)
Comment on attachment 471309 [details] [diff] [review]
Allow Shmem to be used in IPDL unions

Seems ok to me.
Attachment #471309 - Flags: review?(bent.mozilla) → review+
Fixed a minor twiddly bug, no need for re-review.
Comment on attachment 471327 [details] [diff] [review]
Allow Shmem to be used in IPDL unions, v2

this seems to work fine.
Attachment #471327 - Flags: feedback+
Blocks: 556487
blocking2.0: --- → ?
tracking-fennec: --- → ?
blocking2.0: ? → betaN+
http://hg.mozilla.org/mozilla-central/rev/ed4a1318e3e9
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
tracking-fennec: ? → ---
You need to log in before you can comment on or make changes to this bug.