diff -uNr kdevelop.org/lib/kwrite/kwview.cpp kdevelop/lib/kwrite/kwview.cpp
--- kdevelop.org/lib/kwrite/kwview.cpp	Tue May 22 10:15:25 2001
+++ kdevelop/lib/kwrite/kwview.cpp	Tue May 22 10:21:46 2001
@@ -1512,6 +1512,58 @@
   }
 }
 
+// by bumchul
+bool KWriteView::event( QEvent* e )
+{
+    if ( !QWidget::event(e) ) {
+        if ( e->type() == QXIMDRAWEVENT) {
+            return xim_preedit_draw( (QXIMDrawEvent*)e );
+        }
+        else if( e->type() == QXIMSTARTEVENT) {
+            return xim_preedit_start( (QXIMStartEvent*)e );
+        }
+        else if( e->type() == QXIMDONEEVENT) {
+            return xim_preedit_done( (QXIMDoneEvent*)e );
+        }
+        return FALSE;
+    } else {
+        return TRUE;
+    }
+}
+
+bool KWriteView::xim_preedit_start(QXIMStartEvent* e)
+{
+    //debug("KWriteView::xim_preedit_start");
+    return TRUE;
+}
+
+bool KWriteView::xim_preedit_draw(QXIMDrawEvent* e)
+{
+    VConfig c;
+
+    getVConfig(c);
+    int chg_first = e->getChangeFirst();
+    int chg_length = e->getChangeLength();
+    QString str = e->getString();
+
+    setUpdatesEnabled( FALSE );
+    for(int i = 0; ibackspace(c);
+    }
+    kWriteDoc->insertChars(c, str);
+
+    dispatchKeyPressEvent();
+
+   setUpdatesEnabled( TRUE );
+    kWriteDoc->updateViews();
+
+       return TRUE;
+}
+bool KWriteView::xim_preedit_done(QXIMDoneEvent* e)
+{
+       //debug("KWriteView::xim_preedit_done");
+       return TRUE;
+}
 
 KWBookmark::KWBookmark() {
   cursor.y = -1; //mark bookmark as invalid
diff -uNr kdevelop.org/lib/kwrite/kwview.h kdevelop/lib/kwrite/kwview.h
--- kdevelop.org/lib/kwrite/kwview.h	Tue May 22 10:15:25 2001
+++ kdevelop/lib/kwrite/kwview.h	Tue May 22 10:16:41 2001
@@ -39,6 +39,9 @@
 #include 
 #include "kwriteIface.h"
 
+// by bumchul
+#include 
+
 class KAction;
 class KToggleAction;
 class KRecentFilesAction;
@@ -258,6 +261,14 @@
   signals:
     // emitted when KWriteView is not handling its own URI drops
     void dropEventPass(QDropEvent*);
+
+  // by bumchul OnTheSpot functions
+  protected:
+    bool     event( QEvent * );
+  public:
+    bool xim_preedit_start(QXIMStartEvent* e);
+    bool xim_preedit_draw(QXIMDrawEvent* e);
+    bool xim_preedit_done(QXIMDoneEvent* e);
 };
 
 class KWBookmark {

    Source: geocities.com/kr/baram4x/kde

               ( geocities.com/kr/baram4x)                   ( geocities.com/kr)