diff -r 60a10f0abc89 lib/irrlicht/source/Irrlicht/CGUIEditBox.cpp --- a/lib/irrlicht/source/Irrlicht/CGUIEditBox.cpp Wed Sep 23 02:25:31 2009 +0200 +++ b/lib/irrlicht/source/Irrlicht/CGUIEditBox.cpp Wed Sep 23 02:26:56 2009 +0200 @@ -697,7 +697,7 @@ void CGUIEditBox::draw() if (Border) { - skin->draw3DSunkenPane(this, skin->getColor(EGDC_WINDOW), + skin->draw3DSunkenPane(this, IsEnabled ? skin->getColor(EGDC_WINDOW) : skin->getColor(EGDC_INACTIVE_BORDER), false, true, FrameRect, &AbsoluteClippingRect); FrameRect.UpperLeftCorner.X += skin->getSize(EGDS_TEXT_DISTANCE_X)+1; @@ -807,9 +807,9 @@ void CGUIEditBox::draw() mbegin = font->getDimension(s.c_str()).Width; // deal with kerning - mbegin += font->getKerningWidth( - &((*txtLine)[realmbgn - startPos]), - realmbgn - startPos > 0 ? &((*txtLine)[realmbgn - startPos - 1]) : 0); + mbegin += font->getKerningWidth( + &((*txtLine)[realmbgn - startPos]), + realmbgn - startPos > 0 ? &((*txtLine)[realmbgn - startPos - 1]) : 0); lineStartPos = realmbgn - startPos; } @@ -854,7 +854,7 @@ void CGUIEditBox::draw() startPos = BrokenTextPositions[cursorLine]; } s = txtLine->subString(0,CursorPos-startPos); - charcursorpos = font->getDimension(s.c_str()).Width + + charcursorpos = font->getDimension(s.c_str()).Width + font->getKerningWidth(L"_", CursorPos-startPos > 0 ? &((*txtLine)[CursorPos-startPos-1]) : 0); if (focus && (os::Timer::getTime() - BlinkStartTime) % 700 < 350)