IFramePanel unexpected reset (reload) and lebels removing


Hello! Build 88 fixed iFramePanel bug but have new bugs around this.

Test project attached.


1. Run test program.

2. Label near button shows internal variable (counter) inside iFramePanel2.

3. iFrameLabel creates with iFramePanel2.

4. Wait while iFramePanel2 counter counts several seconds.

5. Move Window

6. After mouse is Up, iFrameLabel removed and (!!!) iFramePanel2 resets internal variable (all variables in my project) and begin counter from zero!

My program do not support iFramePanel unexpected reloads and resets.I think than not only labels removed, but any dynamically created Widgets.

  • You must to post comments

Hi Nikolajs,

this fix is also included in Wisej dev build 1.4.91.

Best regards

  • You must to post comments

Here are the issues:

  1. The label doesn’t disappear, it goes behind the iFramePanel2 because when you add a control in the Controls collection the added control is at the top. The bug here is that Wisej updates the z-order later, the label should have gone behind right away. If you want the label on top use iFrameLabel.BringToFront(). EDITED: I’m wrong about this one since the label is added after the iframe. EDITED AGAIN: I was right and wrong, Controls.Add() go behind and BringToFront() is needed.
  2. iFrame elements in most browsers are fully reloaded by the browser when their DOM element is moved in the DOM. Which happens when the z-order is changed. So, because of 1, you see this happening when the z-order is updated. However, because of this browser behavior it would have happened anyway in your app as soon as the z-order of any control causes the iFrame element to move. https://bugs.webkit.org/show_bug.cgi?id=13574https://bugs.chromium.org/p/chromium/issues/detail?id=37485 etc…
  3. If you hit refresh you get an error because you have a background task always calling iFrame.getWindow().postMessage() without checking if the window exists and since the task runs continually it will hit the browser before the iframe is created and the window exists.
  • Nikolajs Valters
    It is possible to fix z-order bug? (I can’t go to build 65 (works without problems with iFramePanels and Labels) because it have Calendar bug).
  • Luca (ITG)
    Yes, it will be in the next dev build. However the reloading issue cannot be changed.
  • Luca (ITG)
    See my edited answer. The correct behavior of your code is to place the label behind the frame. Use BringToFront() if you want the label above. Added controls go behind, that’s the standard z-order in Wisej and WinForms.
  • You must to post comments
Showing 2 results
Your Answer

Please first to submit.