Fixed: <rdar://problem/3999213> Sometimes 2 Windows Media Player plugin instances...
authorcblu <cblu@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 10 Feb 2005 00:39:49 +0000 (00:39 +0000)
committercblu <cblu@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 10 Feb 2005 00:39:49 +0000 (00:39 +0000)
        Reviewed by hyatt.

        * khtml/html/html_objectimpl.cpp:
        (HTMLObjectElementImpl::attach): Set needWidgetUpdate to false before calling updateWidget because updateWidget may cause this method or another method (which also calls updateWidget) to be called.
        (HTMLObjectElementImpl::recalcStyle): ditto

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8556 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog-2005-08-23
WebCore/khtml/html/html_objectimpl.cpp

index fec2b0df6605b0373d3cc5c557677d4de71c93b3..c882c14e33dcfad87843a9fcea96e43009c73f31 100644 (file)
@@ -1,3 +1,13 @@
+2005-02-09  Chris Blumenberg  <cblu@apple.com>
+
+       Fixed: <rdar://problem/3999213> Sometimes 2 Windows Media Player plugin instances are loaded
+
+        Reviewed by hyatt.
+
+        * khtml/html/html_objectimpl.cpp:
+        (HTMLObjectElementImpl::attach): Set needWidgetUpdate to false before calling updateWidget because updateWidget may cause this method or another method (which also calls updateWidget) to be called.
+        (HTMLObjectElementImpl::recalcStyle): ditto
+
 2005-02-09  David Harrison  <harrison@apple.com>
 
         Reviewed by Darin.
index 0139e19da1c72d35b69c02a2338df6d1fef1dc64..6e3106679124d9d8ae798e6d9f0afdd3f86f1606 100644 (file)
@@ -533,8 +533,10 @@ void HTMLObjectElementImpl::attach()
             }
         } else {
             if (needWidgetUpdate) {
-                static_cast<RenderPartObject*>(m_render)->updateWidget();
+                // Set needWidgetUpdate to false before calling updateWidget because updateWidget may cause
+                // this method or recalcStyle (which also calls updateWidget) to be called.
                 needWidgetUpdate = false;
+                static_cast<RenderPartObject*>(m_render)->updateWidget();
                 dispatchHTMLEvent(EventImpl::LOAD_EVENT,false,false);
             } else {
                 needWidgetUpdate = true;
@@ -557,8 +559,10 @@ void HTMLObjectElementImpl::detach()
 void HTMLObjectElementImpl::recalcStyle(StyleChange ch)
 {
     if (needWidgetUpdate && m_render && !canRenderImageType(serviceType)) {
-        static_cast<RenderPartObject*>(m_render)->updateWidget();
+        // Set needWidgetUpdate to false before calling updateWidget because updateWidget may cause
+        // this method or attach (which also calls updateWidget) to be called.
         needWidgetUpdate = false;
+        static_cast<RenderPartObject*>(m_render)->updateWidget();
         dispatchHTMLEvent(EventImpl::LOAD_EVENT,false,false);
     }
     HTMLElementImpl::recalcStyle(ch);