diff --git a/mozilla/layout/html/base/src/nsObjectFrame.cpp b/mozilla/layout/html/base/src/nsObjectFrame.cpp
index 324c5f3264e..82c35662653 100644
--- a/mozilla/layout/html/base/src/nsObjectFrame.cpp
+++ b/mozilla/layout/html/base/src/nsObjectFrame.cpp
@@ -1449,18 +1449,23 @@ nsObjectFrame::DidReflow(nsIPresContext* aPresContext,
// The view is created hidden; once we have reflowed it and it has been
// positioned then we show it.
- if ((aStatus != NS_FRAME_REFLOW_FINISHED) || IsHidden())
+ if (aStatus != NS_FRAME_REFLOW_FINISHED)
return rv;
+ PRBool bHidden = IsHidden();
+
nsIView* view = nsnull;
GetView(aPresContext, &view);
if (view) {
nsCOMPtr vm;
view->GetViewManager(*getter_AddRefs(vm));
if (vm)
- vm->SetViewVisibility(view, nsViewVisibility_kShow);
+ vm->SetViewVisibility(view, bHidden ? nsViewVisibility_kHide : nsViewVisibility_kShow);
}
+ if (bHidden)
+ return rv;
+
nsPluginWindow *window;
if (!mInstanceOwner || NS_FAILED(mInstanceOwner->GetWindow(window)))