- edited description
Infinite loop with "private nsIXulfxDOMWindowHelper Helper"
Issue #52
new
Hello,
For information, we had to roll back your nsIXulfxDOMWindowHelper function to prevent infinite loop if we called window.document in DocumentComplete event for some sub-url like "about:blank" in ajax call.
Here is our code:
private nsIXulfxDOMWindowHelper Helper
{
get
{
nsIXulfxDOMWindowHelper helper = null;
if (_helper == null) // while (_helper == null)
{
// It will be thrown ObjectDisposedException, if the window is destroyed.
nsIDOMWindow window = this.QueryInterface<nsIDOMWindow>();
try
{
helper = Xpcom.CreateInstance<nsIXulfxDOMWindowHelper>(Contracts.XulfxDOMWindow);
helper.Init(window); // Here is the infinite loop problem //
_helper = helper;
}
/*
catch (COMException e)
{
Xpcom.FreeComObject(ref helper);
if (e.ErrorCode != GeckoError.NS_ERROR_FAILURE)
throw;
}
*/
finally
{
Xpcom.FreeComObject(ref window);
}
}
return _helper;
}
}
note: we had also to remove the catch to be able to have _helper object not null, and we don't know why :)
Comments (2)
-
reporter -
reporter - edited description
- Log in to comment