Ticket #4758: 4758.patch

File 4758.patch, 1.6 KB (added by Frederico Caldeira Knabben, 11 years ago)
  • _source/core/skins.js

     
    2020        var preloaded = {};
    2121        var paths = {};
    2222
    23         var loadPart = function( skinName, part, callback )
     23        var loadPart = function( editor, skinName, part, callback )
    2424        {
    2525                // Get the skin definition.
    2626                var skinDefinition = loaded[ skinName ];
    2727
     28                if ( !editor.skin )
     29                {
     30                        editor.skin = skinDefinition;
     31
     32                        // Trigger init function if any.
     33                        if ( skinDefinition.init )
     34                                skinDefinition.init( editor );
     35                }
     36
    2837                var appendSkinPath = function( fileNames )
    2938                {
    3039                        for ( var n = 0 ; n < fileNames.length ; n++ )
     
    5564                                CKEDITOR.imageCacher.load( preload, function()
    5665                                        {
    5766                                                preloaded[ skinName ] = 1;
    58                                                 loadPart( skinName, part, callback );
     67                                                loadPart( editor, skinName, part, callback );
    5968                                        } );
    6069                                return;
    6170                        }
     
    181190                                skinPath = editor.skinPath;
    182191
    183192                        if ( loaded[ skinName ] )
    184                                 loadPart( skinName, skinPart, callback );
     193                                loadPart( editor, skinName, skinPart, callback );
    185194                        else
    186195                        {
    187196                                paths[ skinName ] = skinPath;
    188197                                CKEDITOR.scriptLoader.load( skinPath + 'skin.js', function()
    189198                                                {
    190                                                         // Get the skin definition.
    191                                                         var skinDefinition = editor.skin = loaded[ skinName ];
    192 
    193                                                         // Trigger init function if any.
    194                                                         if ( skinDefinition.init )
    195                                                                 skinDefinition.init( editor );
    196 
    197                                                          loadPart( skinName, skinPart, callback );
     199                                                         loadPart( editor, skinName, skinPart, callback );
    198200                                                });
    199201                        }
    200202                }
© 2003 – 2021 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy