Bonjour,
En utlisant kwrite sous MDK10.2 il y a un bug qui envoie sur mma fenetre X11 le message suivant: "ASSERT: "!m_doc->wrapCursor()" in katerenderer.cpp (626)"
Apres recherche il s'avere que ce bug a été repertorier par KDE puis corriger:
http://bugs.kde.org/show_bug.cgi?id=93928
Le patch KDE3.3.2 fournit est le suivant:
--- kateviewinternal.cpp.orig 2004-12-20 03:16:23.000000000 +0900
+++ kateviewinternal.cpp 2004-12-20 14:26:19.000000000 +0900
@@ -899,12 +899,15 @@
if (line == -1)
return;
-// Cursor placement code is changed for Asian input method that
+ // Cursor placement code is changed for Asian input method that
// shows candidate window. This behavior is same as Qt/E 2.3.7
// which supports Asian input methods. Asian input methods need
// start point of IM selection text to place candidate window as
// adjacent to the selection text.
- uint preeditStrLen = m_view->renderer()->textWidth(textLine(m_imPreeditStartLine), cursor.col()) - m_view->renderer()->textWidth(textLine(m_imPreeditStartLine), m_imPreeditSelStart);
+ uint preeditStrLen = 0;
+ if (m_imPreeditLength > 0)
+ preeditStrLen = m_view->renderer()->textWidth(textLine(cursor.line()), cursor.col()) - m_view->renderer()->textWidth(textLine(cursor.line()), m_imPreeditSelStart);
+
uint x = cXPos - m_startX - lineRanges[line].startX + lineRanges[line].xOffset() - preeditStrLen;
uint y = line * m_view->renderer()->fontHeight();
@@ -3009,6 +3012,10 @@
}
if ( m_imPreeditLength > 0 ) {
+ // reset cursor position before removing text
+ cursor.setPos( cursor.line(), m_imPreeditStart );
+ updateCursor( cursor, true );
+
m_doc->removeText( cursor.line(), m_imPreeditStart,
cursor.line(), m_imPreeditStart + m_imPreeditLength );
}
@@ -3034,6 +3041,10 @@
}
if ( m_imPreeditLength > 0 ) {
+ // reset cursor position before removing text
+ cursor.setPos( cursor.line(), m_imPreeditStart );
+ updateCursor( cursor, true );
+
m_doc->removeText( cursor.line(), m_imPreeditStart,
cursor.line(), m_imPreeditStart + m_imPreeditLength );
}
Mais la je ne vois pas comment m'en servir? Modif code source? Et si oui comment? A quoi correspondent les lignes de la forme:"@@ -3034,6 +3041,10 @@"????
Merci pour toute indication.