[Mono-bugs] [Bug 81532][Nor] New - Wizard + OnDeactivate in WizardStep that calls wizard.MoveTo
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Sat May 5 21:22:32 EDT 2007
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by mmorano at mikeandwan.us.
http://bugzilla.ximian.com/show_bug.cgi?id=81532
--- shadow/81532 2007-05-05 21:22:32.000000000 -0400
+++ shadow/81532.tmp.16890 2007-05-05 21:22:32.000000000 -0400
@@ -0,0 +1,66 @@
+Bug#: 81532
+Product: Mono: Class Libraries
+Version: 1.2
+OS:
+OS Details:
+Status: NEW
+Resolution:
+Severity:
+Priority: Normal
+Component: Sys.Web
+AssignedTo: mhabersack at novell.com
+ReportedBy: mmorano at mikeandwan.us
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: Wizard + OnDeactivate in WizardStep that calls wizard.MoveTo
+
+I have a step in a wizard control that presents radio buttons, which
+effectively control the path the wizard should take. In order to control
+what the next appropriate step is based on the selection, have implemented
+a handler for the OnDeactivate event on the WizardStep, which calls the
+Wizard.MoveTo method to move to the appropriate step.
+
+This works successfully on MS, however, currently causes a stack overflow
+on mono, and xsp2 crashes. The fix is to add a check to see if we need to
+move to the step or not (which then sends step change events). The
+following patch addresses this issue, and behaves properly on mono:
+
+
+Index: Wizard.cs
+===================================================================
+--- Wizard.cs (revision 76736)
++++ Wizard.cs (working copy)
+@@ -210,15 +210,18 @@
+ if (inited && !AllowNavigationToStep (value))
+ return;
+
+- activeStepIndex = value;
++ if(activeStepIndex != value)
++ {
++ activeStepIndex = value;
+
+- if (inited) {
+- multiView.ActiveViewIndex = value;
+- if (stepDatalist != null) {
+- stepDatalist.SelectedIndex
+= value;
+- stepDatalist.DataBind ();
++ if (inited) {
++ multiView.ActiveViewIndex =
+value;
++ if (stepDatalist != null) {
++
+stepDatalist.SelectedIndex = value;
++
+stepDatalist.DataBind ();
++ }
++ OnActiveStepChanged (this,
+EventArgs.Empty);
+ }
+- OnActiveStepChanged (this,
+EventArgs.Empty);
+ }
+ }
+ }
More information about the mono-bugs
mailing list