Closed Bug 194349 Opened 22 years ago Closed 22 years ago

WSDL generated getter params not marked as [out] params in the generated typelib

Categories

(Core :: XML, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jst, Assigned: jst)

References

Details

Attachments

(1 file, 2 obsolete files)

The WSDL code is crashing and not functioning properly due to the WSDL code not
properly marking the return param of getters as [out] params, in stead they're
incorrectly treated as [in] params. Turns out the code to do this was already
there, but it wasn't being called because of broken type flag checks. When
looking at this we (Harish and myself) found a few other similar problems in the
code and fixed those too. Patch coming up.
Attached patch Wrong diff, see the next one. (obsolete) — Splinter Review
Comment on attachment 115124 [details] [diff] [review]
Wrong diff, see the next one.

jband, your name is all over this code, care to have a look at these trivial
changes?
Attachment #115124 - Flags: superreview?(heikki)
Attachment #115124 - Flags: review?(jband)
Attachment #115124 - Attachment is obsolete: true
Attachment #115166 - Flags: superreview?(heikki)
Attachment #115166 - Flags: review?(jband)
Attachment #115124 - Attachment description: Fix bit checking in type flags... → Wrong diff, see the next one.
Attachment #115124 - Flags: superreview?(heikki)
Attachment #115124 - Flags: review?(jband)
Comment on attachment 115166 [details] [diff] [review]
Fix bit checking in type flags...

I'm obviously a moron. r=jband	FWIW
Attachment #115166 - Flags: review?(jband) → review+
Attachment #115166 - Flags: superreview?(heikki) → superreview+
Ok, so while the previous diff did fix something that was wrong, it didn't
really fix what it attempted to fix. There was more to this problem than we
initially thought...

The code was checking if the TD_DOMSTRING (and friends) bit was set in
pparamDesc->flags, but there are two problems with that, the type is not in
pparamDesc->flags, it's in pparamDesc->type, and the TD_DOMSTRING isn't just a
bit, it's an enum that's just a number, so we must *compare* the whole value
(after masking out other bits) to TD_DOMSTRING (et al), not check for bits
being set or not. This patch makes at least integer and float properties
gettable, and also string properties (which didn't work with the previous
patch).

Sorry for requesting reviews on something that wasn't quite what we wanted...
Attachment #115166 - Attachment is obsolete: true
Attachment #115166 - Flags: superreview+
Attachment #115166 - Flags: review+
Attachment #115199 - Flags: superreview?(heikki)
Attachment #115199 - Flags: review?(jband)
Comment on attachment 115199 [details] [diff] [review]
Fix *type* checking...

OK, so I screwed this up even worse than you thought :)

>-// particles that are themselvesmodeulgroups (by recurring into 
>+// particles that are themselves modeulgroups (by recurring into 

If you're going to fix comments then fix the spelling of "modeulgroups" too.

r=jband.
Attachment #115199 - Flags: review?(jband) → review+
Heh. Yeah, I saw that typo too, but not in time to include it in the patch.
Thanks for having a look.
Blocks: 190182
Attachment #115199 - Flags: superreview?(heikki) → superreview+
Taking. I'll check this in...
Assignee: harishd → jst
Fix (including the fix for the typo in the comment) checked in. FIXED.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: