Ticket #6237: 6237_4.patch

File 6237_4.patch, 1.6 KB (added by Paweł Horzela, 9 years ago)

Patch

  • _source/plugins/bidi/plugin.js

     
    5252                        chromeRoot.removeClass( 'cke_mixed_dir_content' );
    5353        }
    5454
    55         function switchDir( element, dir, editor )
     55        function switchDir( element, dir, editor, state )
    5656        {
    57                 var dirBefore = element.getComputedStyle( 'direction' ),
    58                         currentDir = element.getStyle( 'direction' ) || element.getAttribute( 'dir' ) || '';
     57                var dirBefore = element.getComputedStyle( 'direction' );
    5958
    6059                element.removeStyle( 'direction' );
     60                element.removeAttribute( 'dir' );
    6161
    62                 if ( currentDir.toLowerCase() == dir )
    63                         element.removeAttribute( 'dir' );
    64                 else
     62                if ( state == CKEDITOR.TRISTATE_OFF && element.getComputedStyle( 'direction' ).toLowerCase() != dir )
    6563                        element.setAttribute( 'dir', dir );
    6664
    6765                // If the element direction changed, we need to switch the margins of
     
    138136                                if ( selectedElement )
    139137                                {
    140138                                        if ( !selectedElement.isReadOnly() )
    141                                                 switchDir( selectedElement, dir, editor );
     139                                                switchDir( selectedElement, dir, editor, this.state );
    142140                                }
    143141                                else
    144142                                {
     
    165163
    166164                                                while ( ( block = walker.next() ) )
    167165                                                {
    168                                                         switchDir( block, dir, editor );
     166                                                        switchDir( block, dir, editor, this.state );
    169167                                                        processedElements.push( block );
    170168                                                }
    171169
     
    201199
    202200                                                        if ( !_break )
    203201                                                        {
    204                                                                 switchDir( block, dir, editor );
     202                                                                switchDir( block, dir, editor, this.state );
    205203                                                        }
    206204                                                }
    207205                                        }
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy