Closed Bug 60419 Opened 24 years ago Closed 21 years ago

Text Editor: ubercaret appears after deleting lines, serious for IME

Categories

(Core :: DOM: Editor, defect, P3)

All
Linux
defect

Tracking

()

VERIFIED WORKSFORME
Future

People

(Reporter: masaki.katakai, Assigned: kinmoz)

References

Details

(Whiteboard: [caret][correctness][IME][EDITORBASE-])

Please try the following operation. The long long cursor that covers multiple
lines appears. It's very serious for UNIX/Linux IME when input style is
over-the-spot because the height of line (mCursorPosition.height retrieved by
NS_COMPOSITION_QUERY) will be used for size of pre-edit text. In my testing,
size is over 400 is passed in mCursorPosition.height and nsWidget tries to
load font with the size, finally it causes X error.

1) Start Mozilla Mail
2) Set Editor mode is Text
3) Select long message on message list pane
4) Select Reply button
   The contents of the message are quoted by "> "
5) Select top two lines by mouse
6) Hit Back Space key
   Now you can see the long long cursor that covers wbole
   contents appears.

At that time, while over-the-spot input mode, nsWidget
retrieves cursor height to adjust font height of pre-composed
text of IME. But it's very very large, which will cause
X error that the font could not be loaded. See nsWidget::UpdateICSpot()
function,

http://lxr.mozilla.org/mozilla/source/widget/src/gtk/nsWidget.cpp#163
reassign to jfrancis
Assignee: beppe → jfrancis
Target Milestone: --- → mozilla0.9
I'm not sure this problem is avoidable anytime soon in the editor.  In the html 
editor we have some extra smarts to try and minimize the number of times this 
occurs (note that you cant prevent it from ever occurring: between two adjacent 
images, for instance, you expect a long cursor).  However, the text editor 
doens't have these extra smarts, and adding them in will severely bloat the text 
editor.  The real problem is that the quoting is wrapped in  a seperate block (i 
forget if it's a div or a pre now), and the text editor doens't have all the 
extra smarts needed for dealing with blocks.  It just deals with text and breaks.

The only thing that occurs to me is that the caret code might be able to detect 
situations like these and avoid making a large caret unless it was truly in a 
tall text frame, or next to tall image, etc.  Simon?
Assignee: jfrancis → sfraser
Nuther caret bug, sorry dude.
Assignee: sfraser → anthonyd
Summary: Text Editor: long long cursor appears after deleting lines, serious for IME → Text Editor: long long caret appears after deleting lines, serious for IME
moving to moz0.9.1
Target Milestone: mozilla0.9 → mozilla0.9.1
moving to 0.9.2
Status: NEW → ASSIGNED
Target Milestone: mozilla0.9.1 → mozilla0.9.2
is this related to bug 54452?
Whiteboard: [caret]
setting to 0.9.3
Target Milestone: mozilla0.9.2 → mozilla0.9.3
moving to 1.0
Whiteboard: [caret] → [caret][correctness]
Target Milestone: mozilla0.9.3 → mozilla1.0
Whiteboard: [caret][correctness] → [caret][correctness][IME]
Summary: Text Editor: long long caret appears after deleting lines, serious for IME → Text Editor: ubercaret appears after deleting lines, serious for IME
--> kin
Assignee: anthonyd → kin
Status: ASSIGNED → NEW
--> Pulling this in to mozilla0.9.8, adding to plain text composer tracking bug.
Blocks: 108194
Whiteboard: [caret][correctness][IME] → [caret][correctness][IME][EDITORBASE]
Target Milestone: mozilla1.0 → mozilla0.9.8
Target Milestone: mozilla0.9.8 → mozilla0.9.9
minusing
Whiteboard: [caret][correctness][IME][EDITORBASE] → [caret][correctness][IME][EDITORBASE-]
Target Milestone: mozilla0.9.9 → mozilla1.0
Moving bugs to Mozilla1.1 that are not EDITORBASE+.
Target Milestone: mozilla1.0 → mozilla1.1
Target Milestone: mozilla1.1alpha → Future
Needs testing please. If it still appears we should mark it EDITORBASE+
QA Contact: sujay → beppe
Verified this problem does not happen on Trunk 20030225 build.

Please mark as WFM.
WFM
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → WORKSFORME
verified
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.