[poppler] [PATCH] Poppler: Fix line selection, dont check y for Line selection

Albert Astals Cid aacid at kde.org
Fri Jan 21 10:35:53 PST 2011


A Divendres, 21 de gener de 2011, Carlos Garcia Campos va escriure:
> Excerpts from Albert Astals Cid's message of jue ene 20 20:26:01 +0100 2011:
> > A Dijous, 20 de gener de 2011, Marek Kasik va escriure:
> > > Hi Sam,
> > > 
> > > the patch looks good to me. You are right that Y values should be
> > > neglected in this case.
> > > The patch is similar to the second part of the patch in
> > > https://bugs.freedesktop.org/show_bug.cgi?id=22506 (unfortunately, I
> > > haven't fixed the first part of the patch yet...).
> > 
> > Ok, if noone comments otherwise i'll be commiting this patch to master on
> > the weekend. I'll leave it to Carlos to decide if he wants it on the
> > 0.16 branch.
> 
> Yeah, I was going to push it to both branches this weekend too :-)

All yours then.

Albert

> 
> > Albert
> > 
> > > Regards
> > > 
> > > Marek
> > > 
> > > On 01/19/2011 06:40 AM, Sam Liao wrote:
> > > > Hi,
> > > > 
> > > > Is there anyone can help me to review this fix or find a more
> > > > reasonable solution?
> > > > 
> > > > Thanks,
> > > > -Sam
> > > > 
> > > > On Mon, Jan 17, 2011 at 5:26 PM, Sam Liao <phyomh at gmail.com> wrote:
> > > >> When a line is selected while the Y values of selection is
> > > >> not in the y range of words, the render will render the
> > > >> line with reverse color while the words does not show up.
> > > >> 
> > > >> This fix neglect the Y vaules to make sure that the words
> > > >> also displayed when line is selected.
> > > >> ---
> > > >> poppler/TextOutputDev.cc |   16 ++++++++--------
> > > >> 1 files changed, 8 insertions(+), 8 deletions(-)
> > > >> 
> > > >> diff --git a/poppler/TextOutputDev.cc b/poppler/TextOutputDev.cc
> > > >> index 576bcc9..71b946e 100644
> > > >> --- a/poppler/TextOutputDev.cc
> > > >> +++ b/poppler/TextOutputDev.cc
> > > >> @@ -4249,24 +4249,24 @@ void
> > > >> TextLine::visitSelection(TextSelectionVisitor *visitor,
> > > >> 
> > > >>   current = NULL;
> > > >>   for (p = words; p != NULL; p = p->next) {
> > > >>   
> > > >>     if (blk->page->primaryLR) {
> > > >> 
> > > >> -      if ((selection->x1 < p->xMax && selection->y1 < p->yMax) ||
> > > >> -  (selection->x2 < p->xMax && selection->y2 < p->yMax))
> > > >> +      if ((selection->x1 < p->xMax) ||
> > > >> +  (selection->x2 < p->xMax))
> > > >> 
> > > >>         if (begin == NULL)
> > > >>  
> > > >>  begin = p;
> > > >> 
> > > >> -      if (((selection->x1 > p->xMin && selection->y1 > p->yMin) ||
> > > >> -   (selection->x2 > p->xMin && selection->y2 > p->yMin)) && (begin
> > > >> != NULL)) { +      if (((selection->x1 > p->xMin) ||
> > > >> +   (selection->x2 > p->xMin)) && (begin != NULL)) {
> > > >> 
> > > >>         end = p->next;
> > > >>         current = p;
> > > >>       
> > > >>       }
> > > >>     
> > > >>     } else {
> > > >> 
> > > >> -      if ((selection->x1 > p->xMin && selection->y1 < p->yMax) ||
> > > >> -  (selection->x2 > p->xMin && selection->y2 < p->yMax))
> > > >> +      if ((selection->x1 > p->xMin) ||
> > > >> +  (selection->x2 > p->xMin))
> > > >> 
> > > >>         if (begin == NULL)
> > > >>  
> > > >>  begin = p;
> > > >> 
> > > >> -      if (((selection->x1 < p->xMax && selection->y1 > p->yMin) ||
> > > >> -   (selection->x2 < p->xMax && selection->y2 > p->yMin)) && (begin
> > > >> != NULL)) { +      if (((selection->x1 < p->xMax) ||
> > > >> +   (selection->x2 < p->xMax)) && (begin != NULL)) {
> > > >> 
> > > >>         end = p->next;
> > > >>         current = p;
> > > >>       
> > > >>       }
> > > > 
> > > > _______________________________________________
> > > > poppler mailing list
> > > > poppler at lists.freedesktop.org
> > > > http://lists.freedesktop.org/mailman/listinfo/poppler
> > > 
> > > _______________________________________________
> > > poppler mailing list
> > > poppler at lists.freedesktop.org
> > > http://lists.freedesktop.org/mailman/listinfo/poppler


More information about the poppler mailing list