[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-bugs-dist
Subject: [Bug 119167] [test case] page rendered incorrectly at larger font
From: Charles Samuels <charles () kde ! org>
Date: 2006-09-30 7:30:05
Message-ID: 20060930073005.17917.qmail () ktown ! kde ! org
[Download RAW message or body]
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
http://bugs.kde.org/show_bug.cgi?id=119167
charles kde org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
------- Additional Comments From charles kde org 2006-09-30 09:29 -------
SVN commit 590440 by charles:
fix Bug 119167: page rendered incorrectly at larger font sizes
see the comment within for info
BUG:119167
now I'm gonna need to find some gauze and stop the blood from gushing out of my eyes \
and ears.
M +10 -3 render_block.cpp
--- branches/KDE/3.5/kdelibs/khtml/rendering/render_block.cpp #590439:590440
@ -223,15 +223,22 @
// punctuation and white-space
if(oldText->l >= 1) {
oldText->ref();
- unsigned int length = 0;
+ // begin: we need skip leading whitespace so that \
RenderBlock::findNextLineBreak + // won't think we're continuing from a \
previous run + unsigned int begin = 0; // the position that first-letter \
begins + unsigned int length = 0; // the position that "the rest" begins
+ while ( length < oldText->l && (oldText->s+length)->isSpace() )
+ length++;
+ begin = length;
while ( length < oldText->l &&
- ( (oldText->s+length)->isSpace() || \
(oldText->s+length)->isPunct()) ) + ( \
(oldText->s+length)->isPunct()) || (oldText->s+length)->isSpace() ) length++;
if ( length < oldText->l &&
!( (oldText->s+length)->isSpace() || \
(oldText->s+length)->isPunct() )) length++;
while ( length < oldText->l && (oldText->s+length)->isMark() )
length++;
+
// we need to generated a remainingText object even if no text is left
// because it holds the place and style for the old textObj
RenderTextFragment* remainingText =
@ -246,7 +253,7 @
firstLetterContainer->addChild(remainingText, nextObj);
RenderTextFragment* letter =
- new (renderArena()) RenderTextFragment(remainingText->node(), \
oldText, 0, length); + new (renderArena()) \
RenderTextFragment(remainingText->node(), oldText, begin, length-begin); \
letter->setIsAnonymous( remainingText->isAnonymous() ); RenderStyle* newStyle = new \
RenderStyle(); newStyle->inheritFrom(pseudoStyle);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic