Ticket #2127: 2127_2.patch

File 2127_2.patch, 2.3 KB (added by martinkou, 22 months ago)
  • _whatsnew.html

     
    120120                        when FCKeditor is installed to a different domain.</li>  
    121121                <li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2066">#2066</a>] Added a workaround for a Mac 
    122122                        Safari 3.1 browser bug which caused the Fit Window button to give a blank screen.</li>  
     123                <li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2127">#2127</a>] Window scrollbars are now 
     124                        disabled when floating dialogs are being displayed.</li> 
    123125        </ul> 
    124126        <h3> 
    125127                Version 2.6</h3> 
  • editor/_source/internals/fckdialog.js

     
    2626        var topDialog ; 
    2727        var baseZIndex ; 
    2828        var cover ; 
     29        var previousOverflow ; 
     30        var scrollElement ; 
    2931 
    3032        // The document that holds the dialog. 
    3133        var topWindow = window.parent ; 
     
    181183                                } ) ; 
    182184                        FCKDomTools.SetOpacity( cover, FCKConfig.BackgroundBlockerOpacity ) ; 
    183185 
     186                        // Hide the scrollbar of the top window. 
     187                        if ( !( FCKBrowserInfo.IsGecko || FCKBrowserInfo.IsSafari ) ) 
     188                        { 
     189                                scrollElement = FCKTools.IsStrictMode( topDocument ) ? topDocument.documentElement : topDocument.body ; 
     190                                previousOverflow = scrollElement.style.overflow ; 
     191                                var previousScroll = FCKTools.GetScrollPosition( topWindow ) ; 
     192                                scrollElement.style.overflow = 'hidden' ; 
     193                                scrollElement.scrollLeft = previousScroll.X ; 
     194                                scrollElement.scrollTop = previousScroll.Y ; 
     195                        } 
     196 
    184197                        // For IE6-, we need to fill the cover with a transparent IFRAME, 
    185198                        // to properly block <select> fields. 
    186199                        if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 ) 
     
    226239                        var el = FCK.ToolbarSet.CurrentInstance.GetInstanceObject( 'frameElement' ) ; 
    227240                        el.tabIndex = el._fck_originalTabIndex ; 
    228241                        FCKDomTools.ClearElementJSProperty( el, '_fck_originalTabIndex' ) ; 
     242 
     243                        // Restore the scrollbar of the top window to its previous state. 
     244                        if ( !( FCKBrowserInfo.IsGecko || FCKBrowserInfo.IsSafari ) ) 
     245                        scrollElement.style.overflow = previousOverflow ; 
    229246                }, 
    230247 
    231248                GetCover : function()