Closed Bug 60419 Opened 24 years ago Closed 22 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: 22 years ago
Resolution: --- → WORKSFORME
verified
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.