3 Replies Latest reply on Dec 21, 2009 7:36 PM by SurreyHughes

    IE8 (Internet Explorer 8) doesn't call updateDisplayList

    SurreyHughes

      Hi,

      Recently, about 1 month ago, Internet Explorer 8 (IE 8) stopped rendering my full screen app (index.html only has the .swc embedded which is set to full screen, no other html content) correctly.  After adding some trace and break points etc... I found that updateDisplayList is simply not being called.  This results in screens missing details, in particular dynamically added detail, and on navigation a ViewStack just goes blank and doesn't display.  I manually called validateNow() on the main app after each navigation and more items are displayed but still dynamic details such as radio controls loaded from a list don't display unless I again manually call validateNow().

       

      This behaviour doesn't occur in Chrome or Safari or Firefox, only in IE and only recently started.  This app has been in production for over a year.  My thought is that IE has recently had an update that breaks the flash player.  I say that because this bug occurs on computers that haven't upgraded their flash player but of course MS Auto Update is turned on.

       

      Is this a bug I can work around or should I lodge bug with Adobe?

       

      You can replicate this by using the app easily enough: http://www.whotune.com

      Just navigate around, particularly the products & news tab which loads a lot of content dynamically as you choose different categories.  Soon enough when you try to navigate to a new page the page is blank.  If you right click and show redraw regions you'll see the banner ads trying to redraw.  Also the nav bar subtitles become cut off because the updateDisplayList is not being called.

        • 1. Re: IE8 (Internet Explorer 8) doesn't call updateDisplayList
          Francisc Level 3

          Hmm... this is odd. Typically Flex Framework is build so that it cannot have browser-based conflicts - ASVM.

          The only problems that could occur are sandbox errors, file reference errors and embedding code problems.

           

          I use IE8 and I can see your site fine. However, if you feel there is a problem you could try to rewrite the embedding HTML code for the SWF file.

           

          Hope this helps.

          • 2. Re: IE8 (Internet Explorer 8) doesn't call updateDisplayList
            SurreyHughes Level 1

            IE 8 will initially display the site correctly.  I can consistently reproduce this error by:

            1. Go to site.

            2. Select Products & News nav item

            3. Click on a news item

            4. It's broken.

             

            I've since disabled the AMF calls used to populate the Reviews and it seems this error doesn't happen.  So maybe there is something about the population of data that IE 8 doesn't like.  I keep saying IE 8 because I have, through extensive attempts, failed to reproduce this bug on any other browser.

            I have also turned off the use of deep linking and still been able to reproduce this bug. I'm going to personally review how I'm loading the data into the reviews section and if I find a fix I'll get back here.

            • 3. Re: IE8 (Internet Explorer 8) doesn't call updateDisplayList
              SurreyHughes Level 1

              I discovered the problem.

              It seems we have a custom component that has a "default image" property.  This custom component was in the list renderer on the reviews page.  There is no default image for reviews without an image so to stop the renderer reusing images from those reviews that do have images the default image was set to "new Object()" which obviously caused an internal error that caused update display list (validate) process to drop out.  This only happens on IE and not firefox, safari or chrome.

               

              I created a tiny transparent png to use as the default image and will contact the client to see if they want an actual default image.

               

              Ah, it is true that most errors are caused by the idiot behind the keyboard.