Ticket #6753: 6753.patch

File 6753.patch, 3.9 KB (added by Garry Yao, 8 years ago)
  • _source/plugins/toolbar/plugin.js

     
    345345                                        }
    346346                                });
    347347
     348
     349                        editor.on( 'destroy', function()
     350                        {
     351                                var toolbars, index = 0, i,
     352                                                items, instance;
     353                                toolbars = this.toolbox.toolbars;
     354                                for ( ; index < toolbars.length; index++ )
     355                                {
     356                                        items = toolbars[ index ].items;
     357                                        for ( i = 0; i < items.length; i++ )
     358                                        {
     359                                                instance = items[ i ];
     360                                                if ( instance.clickFn ) CKEDITOR.tools.removeFunction( instance.clickFn );
     361                                                if ( instance.keyDownFn ) CKEDITOR.tools.removeFunction( instance.keyDownFn );
     362
     363                                                if ( instance.index ) CKEDITOR.ui.button._.instances[ instance.index ] = null;
     364                                        }
     365                                }
     366                        });
     367
    348368                        editor.addCommand( 'toolbarFocus', commands.toolbarFocus );
    349369                }
    350370        });
  • _source/plugins/filebrowser/plugin.js

     
    388388                init : function( editor, pluginPath )
    389389                {
    390390                        editor._.filebrowserFn = CKEDITOR.tools.addFunction( setUrl, editor );
     391                        editor.on( 'destroy', function () { CKEDITOR.tools.removeFunction( this._.filebrowserFn ); } );
    391392                }
    392393        } );
    393394
  • _source/plugins/editingblock/plugin.js

     
    112112                                                CKEDITOR.fire( 'instanceReady', null, editor );
    113113                                        }, 0 );
    114114                                });
     115
     116                        editor.on( 'destroy', function ()
     117                        {
     118                                // ->           currentMode.unload( holderElement );
     119                                this._.modes[ this.mode ].unload( this.getThemeSpace( 'contents' ) );
     120                        });
    115121                }
    116122        });
    117123
  • _source/plugins/contextmenu/plugin.js

     
    2828                this.id = CKEDITOR.tools.getNextId();
    2929                this.editor = editor;
    3030                this._.listeners = [];
    31                 this._.functionId = CKEDITOR.tools.addFunction( function( commandName )
    32                         {
    33                                 this._.panel.hide();
    34                                 editor.focus();
    35                                 editor.execCommand( commandName );
    36                         },
    37                         this);
    3831
    3932                this.definition =
    4033                {
  • _source/core/editor.js

     
    544544                        if ( !noUpdate )
    545545                                this.updateElement();
    546546
    547                         if ( this.mode )
    548                         {
    549                                 // ->           currentMode.unload( holderElement );
    550                                 this._.modes[ this.mode ].unload( this.getThemeSpace( 'contents' ) );
    551                         }
    552 
    553547                        this.theme.destroy( this );
    554548
    555                         var toolbars,
    556                                 index = 0,
    557                                 j,
    558                                 items,
    559                                 instance;
    560 
    561                         if ( this.toolbox )
    562                         {
    563                                 toolbars = this.toolbox.toolbars;
    564                                 for ( ; index < toolbars.length ; index++ )
    565                                 {
    566                                         items = toolbars[ index ].items;
    567                                         for ( j = 0 ; j < items.length ; j++ )
    568                                         {
    569                                                 instance = items[ j ];
    570                                                 if ( instance.clickFn ) CKEDITOR.tools.removeFunction( instance.clickFn );
    571                                                 if ( instance.keyDownFn ) CKEDITOR.tools.removeFunction( instance.keyDownFn );
    572 
    573                                                 if ( instance.index ) CKEDITOR.ui.button._.instances[ instance.index ] = null;
    574                                         }
    575                                 }
    576                         }
    577 
    578                         if ( this.contextMenu )
    579                                 CKEDITOR.tools.removeFunction( this.contextMenu._.functionId );
    580 
    581                         if ( this._.filebrowserFn )
    582                                 CKEDITOR.tools.removeFunction( this._.filebrowserFn );
    583 
    584549                        this.fire( 'destroy' );
    585550                        CKEDITOR.remove( this );
    586551                        CKEDITOR.fire( 'instanceDestroyed', null, this );
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy