rem: messagePaneBox.setAttribute("minwidth", "400");  
context: function UpdateMailPaneConfig(aMsgWindowInitialized) {  var paneConfig = pref.getIntPref("mail.pane_config.dynamic");    // don't do anything if we are already in the correct configuration  if (paneConfig == gCurrentPaneConfig)    return;  var mailContentWrapper = document.getElementById("mailContentWrapper");  var messagesBox = document.getElementById("messagesBox");  var messagePaneBox = GetMessagePane();  var msgPaneReRooted = false;  var threadPaneSplitter = GetThreadAndMessagePaneSplitter();  // the only element we need to re-root is the message pane.  var desiredMsgPaneParentId = (paneConfig == "0" || paneConfig == "2") ? "messagesBox" : "mailContentWrapper";  if (messagePaneBox.parentNode.id != desiredMsgPaneParentId)  {     var messagePaneParent = document.getElementById(messagePaneBox.parentNode.id);     messagePaneParent.removeChild(threadPaneSplitter);     messagePaneParent.removeChild(messagePaneBox);     var messagePaneNewParent = document.getElementById(desiredMsgPaneParentId);     messagePaneNewParent.appendChild(threadPaneSplitter);      messagePaneNewParent.appendChild(messagePaneBox);      msgPaneReRooted = true;  }  // now for each config, handle any extra clean up to create that view (such as changing a box orientation)  if (paneConfig == kStandardPaneConfig) // standard 3-Pane Layout  {         messagePaneBox.removeAttribute("minwidth");    threadPaneSplitter.setAttribute("orient", "vertical");    // finally, make sure mailContentWrapper has the correct orientation    mailContentWrapper.setAttribute("orient", "horizontal");    messagesBox.setAttribute("orient", "vertical");  }  else if (paneConfig == kWidePaneConfig)  // "Wide" Window Pane Layout  {      messagePaneBox.removeAttribute("minwidth");       threadPaneSplitter.setAttribute("orient", "vertical");    // finally, make sure mailContentWrapper has the correct orientation    mailContentWrapper.setAttribute("orient", "vertical");    messagesBox.setAttribute("orient", "vertical");  }    else if (paneConfig == kVerticalPaneConfig) // Vertical Pane Layout  {    messagesBox.setAttribute("orient", "horizontal");    threadPaneSplitter.removeAttribute("orient");    messagePaneBox.setAttribute("minwidth", "400"); // 400 is a made up number since I can't seem to force the thread pane and msg pane                                                    // to split the available space in half (why is flex not working here???)    // finally, make sure mailContentWrapper has the correct orientation    mailContentWrapper.setAttribute("orient", "horizontal");  }  // re-rooting the message pane causes the docshell to get destroyed   // and replaced with another one. As such, we need to re-set the window (and thus the   // internal references nsMessenger keeps for the message pane docshell)  // XXX: is it safe to call this multiple times? May need to add a setMessagePaneDocShell  //      routine to nsIMessenger.  if (aMsgWindowInitialized && msgPaneReRooted)  {    messenger.SetWindow(null, null);    messenger.SetWindow(window, msgWindow);    MsgReload();   }    // record the new configuration  gCurrentPaneConfig = paneConfig; }
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/3f0c6c4cc2391e27f4dfc9aef7e2d0656b6c4b57/msgMail3PaneWindow.js/buggy/mail/base/content/msgMail3PaneWindow.js