Closed Bug 301413 Opened 20 years ago Closed 20 years ago

Valid bindings generate MDG loop warning

Categories

(Core Graveyard :: XForms, defect)

x86
All
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: aaronr, Assigned: allan)

Details

Attachments

(2 files, 2 obsolete files)

I simplified down a testcase that was showing a group that should have been hidden since it was disabled. I notice a warning in the .exe's output: "WARNING: XForms: There are loops in the MDG". I was running with the patch for 301168, too. Allan, since it is a warning in the MDG, could you take a look at it?
Attached file testcase (obsolete) —
by altering any number of things in the testcase source, the testcase will begin to work. Like the relevancy expression in the first bind will always equate to "true()", and if I use "true()", then I no longer see the problem. And if I change an unused bind (use3dont) to point to another unused node like /root/useArray/use[2]/do, then the problem will stop occurring. Really weird.
(In reply to comment #0) > Allan, since it is a warning in the MDG, could you take a look at it? Will do.
Status: NEW → ASSIGNED
Assignee: aaronr → allan
Status: ASSIGNED → NEW
Summary: disabled group still showing with MDG loop warning → Valid bindings generate MDG loop warning
Attached file Reduced testcase
Attachment #189869 - Attachment is obsolete: true
The problem was that nsXFormsMDGEngine::AddMIP() was adding the dependencies of a MIP as dependencies of the same type as itself. Fx.: a relevant was dependent on another node's relevant property. That's incorrect, it should always depend on the other node's calculate property (as it is the only one influencing it...).
Attachment #190402 - Flags: review?(smaug)
(In reply to comment #4) > Created an attachment (id=190402) [edit] > One-line fix (including some extra debug) Pretend there's a comment explaining that in AddMIP() :) I'll add it before check in. > The problem was that nsXFormsMDGEngine::AddMIP() was adding the dependencies of > a MIP as dependencies of the same type as itself. Fx.: a relevant was dependent > on another node's relevant property. That's incorrect, it should always depend > on the other node's calculate property (as it is the only one influencing > it...).
Attachment #190402 - Attachment is obsolete: true
Attachment #190403 - Flags: review?(smaug)
Attachment #190402 - Flags: review?(smaug)
Attachment #190403 - Flags: review?(smaug) → review+
Attachment #190403 - Flags: review+
checked in
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
I think there's still a bug though. If the MIPs were calculates the MDG would say there's a loop, even though there's not. This is a problem with the way the MDG finds dependencies.
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: