I use the code below for my own options dialog, and I've never had a problem with it.

var optionsWindow = ForwardFork.mediator.getMostRecentWindow("forwardfork:options");

// if its open, focus it; otherwise, open it
if (optionsWindow && !optionsWindow.closed) optionsWindow.document.commandDispatcher.focusedWindow.focus();
else optionsWindow = window.openDialog("chrome://forwardfork/content/forwardForkPrefs.xul","ForwardFork Options","chrome,centerscreen,resizable");

Basically, you have to make sure a window (or dialog) )exists and that it isn't closed. Then, based on that, you decide whether to refocus an open dialog or open a new one.

HTH, Matt

On 1/28/06, Eric H. Jung <[EMAIL PROTECTED]> wrote:
Hi,

I asked this question here
http://forums.mozillazine.org/viewtopic.php?t=373278 but that didn't
help...

I'm using this code to focus/activate/bring-to-top both <window/> and
<dialog/> elements:

Components.classes["@mozilla.org/appshell/window-mediator;1"]
  .getService(Components.interfaces.nsIWindowMediator )
  .getMostRecentWindow("passwordmaker")
  .focus();

It works if getMostRecentWindow() returns a <window/>, but if it
returns a modal <dialog/>, I get this exception:

"Component returned failure code: 0x80004005 (NS_ERROR_FAILURE)
[nsIDOMWindowInternal.focus]"  nsresult: "0x80004005

I'm using windowtype="passwordmaker" as a dialog attribute. Anyone know
what I'm doing wrong?

Thank you,
Eric Jung

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
_______________________________________________
Project_owners mailing list
[email protected]
http://mozdev.org/mailman/listinfo/project_owners

_______________________________________________
Project_owners mailing list
[email protected]
http://mozdev.org/mailman/listinfo/project_owners

Reply via email to