diff --git a/mozilla/layout/generic/nsObjectFrame.cpp b/mozilla/layout/generic/nsObjectFrame.cpp index 4109d0a7a2f..51779dd0f49 100644 --- a/mozilla/layout/generic/nsObjectFrame.cpp +++ b/mozilla/layout/generic/nsObjectFrame.cpp @@ -2419,13 +2419,12 @@ NS_IMETHODIMP nsPluginInstanceOwner::GetParameters(PRUint16& n, const char*const nsresult rv = EnsureCachedAttrParamArrays(); NS_ENSURE_SUCCESS(rv, rv); - // make sure we have at least one param tag because embed's don't have any - if (!mNumCachedParams) - return NS_ERROR_FAILURE; - n = mNumCachedParams; - names = (const char **)(mCachedAttrParamNames + mNumCachedAttrs + 1); - values = (const char **)(mCachedAttrParamValues + mNumCachedAttrs + 1); + if (n) { + names = (const char **)(mCachedAttrParamNames + mNumCachedAttrs + 1); + values = (const char **)(mCachedAttrParamValues + mNumCachedAttrs + 1); + } else + names = values = nsnull; return rv; } diff --git a/mozilla/layout/html/base/src/nsObjectFrame.cpp b/mozilla/layout/html/base/src/nsObjectFrame.cpp index 4109d0a7a2f..51779dd0f49 100644 --- a/mozilla/layout/html/base/src/nsObjectFrame.cpp +++ b/mozilla/layout/html/base/src/nsObjectFrame.cpp @@ -2419,13 +2419,12 @@ NS_IMETHODIMP nsPluginInstanceOwner::GetParameters(PRUint16& n, const char*const nsresult rv = EnsureCachedAttrParamArrays(); NS_ENSURE_SUCCESS(rv, rv); - // make sure we have at least one param tag because embed's don't have any - if (!mNumCachedParams) - return NS_ERROR_FAILURE; - n = mNumCachedParams; - names = (const char **)(mCachedAttrParamNames + mNumCachedAttrs + 1); - values = (const char **)(mCachedAttrParamValues + mNumCachedAttrs + 1); + if (n) { + names = (const char **)(mCachedAttrParamNames + mNumCachedAttrs + 1); + values = (const char **)(mCachedAttrParamValues + mNumCachedAttrs + 1); + } else + names = values = nsnull; return rv; } diff --git a/mozilla/modules/plugin/base/src/ns4xPluginInstance.cpp b/mozilla/modules/plugin/base/src/ns4xPluginInstance.cpp index 01e46bf1b3f..818c64ffb7f 100644 --- a/mozilla/modules/plugin/base/src/ns4xPluginInstance.cpp +++ b/mozilla/modules/plugin/base/src/ns4xPluginInstance.cpp @@ -823,7 +823,8 @@ nsresult ns4xPluginInstance::InitializePlugin(nsIPluginInstancePeer* peer) const char* const* pvalues = nsnull; if (NS_SUCCEEDED(taginfo->GetParameters(pcount, pnames, pvalues))) { NS_ASSERTION(nsnull == values[count], "attribute/parameter array not setup correctly for 4.x plugins"); - count += ++pcount; //if it's all setup correctly, then all we need is to change the count + if (pcount) + count += ++pcount; //if it's all setup correctly, then all we need is to change the count (attrs + PARAM/blank + params) } } }