Ticket #2835 (closed bug: fixed)

Opened 3 years ago

Last modified 3 years ago

Panel Control: Panel is displayed after deactivate

Reported by: jorix Owned by:
Priority: minor Milestone: 2.11 Release
Component: Control.Panel Version: 2.10
Keywords: Cc:
State: Complete

Description

This happens when all panel's controls are deactivate and panel is deactivated or destroyed.

The patch includes a test. It work well in: FF36, IE8, Chrome6 & Safari5.

Attachments

ControlPanel-bugDectivate-2835.patch Download (1.9 KB) - added by jorix 3 years ago.

Change History

Changed 3 years ago by jorix

  Changed 3 years ago by jorix

  • state set to Review

follow-up: ↓ 3   Changed 3 years ago by ahocevar

  • state changed from Review to Needs More Work

Without having tried, but what part of your patch fixes the deactivate behavior? It only changes destroy? Or do the new deactivate tests also pass without the patch applied?

in reply to: ↑ 2   Changed 3 years ago by jorix

Replying to ahocevar:

Without having tried, but what part of your patch fixes the deactivate behavior?

this.redraw(); this line in desactivate method

  Changed 3 years ago by ahocevar

  • state changed from Needs More Work to Commit

Good catch. Thanks for the patch.

  Changed 3 years ago by ahocevar

  • status changed from new to closed
  • state changed from Commit to Complete
  • resolution set to fixed

follow-up: ↓ 7   Changed 3 years ago by ahocevar

  • summary changed from Panel Control: Panel is displayed after deactivate or destroy to Panel Control: Panel is displayed after deactivate

We had to partially revert r10732 with r10834. The deactivate sequence is still fixed, but the destroy sequence should be fixed as part of #2210.

in reply to: ↑ 6 ; follow-up: ↓ 8   Changed 3 years ago by jorix

Replying to ahocevar:

We had to partially revert r10732 with r10834. The deactivate sequence is still fixed, but the destroy sequence should be fixed as part of #2210.

Here we have crossed several tickets: r10813 changed the test that failed due to #2850 due to an oversight of mine in #2835 where he said:

  var div = panel.div; 
  panel.destroy();
  t.ok(panel.div.innerHTML == "".

had to say:

  var div = panel.div; 
  panel.destroy();
  t.ok(div.innerHTML == "",

but r10732 put:

  var div = panel.div; 
  panel.destroy();
  t.eq(panel.div, null,

is not the same (this is a test that #2850 is fixed).

But r10790 undo fix #2850, and test changet by r10813 failed.

this looks like a scene from the Marx Brothers.

#2850, is ok (and test ... div.innerHTML == "", ... works with this.deactivate() in panel destroy, with or without #2850).
The original patch from #2864 and mine working properly with the right test, but they are different views of the problem (I thought of something like #2210)
And #2210 is ok.

Uff!

Happy ending? :-))

in reply to: ↑ 7   Changed 3 years ago by jorix

Replying to jorix:

...
but r10732 put:
...

Errata:

the right is:

...
but r10813 put:
...

Note: See TracTickets for help on using tickets.