Ticket #2469 (closed Bug: fixed)

Opened 4 months ago

Last modified 6 weeks ago

FCK.SetData() causes editor to become temporarily non-focusable in IE7.

Reported by: martinkou Owned by: martinkou
Priority: Normal Milestone: FCKeditor 2.6.4
Component: General Version: FCKeditor 2.6.3
Keywords: Confirmed IE7 Review+ Cc:

Description

This bug was originally reported by Mathias-S in our IRC channel. To reproduce the bug:

  1. Add the following HTML code to sample11_frame.html right after the submit button's HTML code.
    <script type="text/javascript"><!--
    function SetContents()
    {
    	// Get the editor instance that we want to interact with.
    	var oEditor = FCKeditorAPI.GetInstance('FCKeditor_1') ;
    
    	// Set the editor contents (replace the actual one).
    	oEditor.SetData( 'This is the <b>new content<\/b> I want in the editor.' ) ;
    }
    //-->
    </script>
    <input type="button" value="Set Editor Contents" onclick="SetContents();" />
    
  2. Open sample11.html in IE7.
  3. Type some random characters into FCKeditor 1.
  4. Select the just added characters with some of the previously existing text in FCKeditor 1.
  5. Click on the empty space between FCKeditor 1 and FCKeditor 2.
  6. Click "Set Editor Contents".
  7. Try to put the focus back on FCKeditor 1 by clicking it - it doesn't work. If it does, refresh the page and try again.

According to Mathias-S's original report, the bug can be reproduced in IE6 as well. But I wasn't able to do that in IE6.

Attachments

2469.patch (1.3 KB) - added by martinkou 4 months ago.
2469_2.patch (1.3 KB) - added by martinkou 3 months ago.

Change History

Changed 4 months ago by martinkou

  • status changed from new to closed
  • resolution set to fixed

Fixed with [2361].

Click here for more info about our SVN system.

Changed 4 months ago by martinkou

  • status changed from closed to reopened
  • resolution fixed deleted

Oops... wrong ticket.

Changed 4 months ago by martinkou

Changed 4 months ago by martinkou

  • keywords Review? added

Changed 3 months ago by alfonsoml

The patch seems to work (at least from my understanding of the bug, although it's hard to notice it), but I think that whenever SetData is called, the stored selection should be reset, it can't be safely restored back because those nodes no longer exist, so I would add a call to FCKSelection.Release() in FCK.SetData() like the call to FCKTempBin.Reset();

Changed 3 months ago by alfonsoml

  • keywords Review- added; Review? removed

Sorry, retesting to verify if #2496 works or not I've found that this patch does break at least that situation and it forces the insertion at the start of the content again.

To verify apply first #2496 and verify that the paste dialogs work correctly, then apply this patch (clear cache) and test again. For me it does fail.

Changed 3 months ago by martinkou

Changed 3 months ago by martinkou

  • keywords Review? added; Review- removed

Looks like there's no other way then. I'm adding a FCK.Selection.Release() to FCK.SetData() as suggested and it solves both this bug and #2496.

Changed 6 weeks ago by fredck

  • keywords Review+ added; Review? removed

Changed 6 weeks ago by martinkou

  • status changed from reopened to closed
  • resolution set to fixed

Fixed with [2599].

Click here for more info about our SVN system.

Note: See TracTickets for help on using tickets.