Re: [poppler] Bug rendering PDF spec Version 1.5, PDF 1.4 configuration

2007-11-01 Thread Krzysztof Kowalczyk
In my experience valgrind does produce false positives, especially in
optimized release builds.

I'm not saying that this is the case here but it is a possibility.

To better understand the issue you can use valgrind's capability to
launch gdb when this happens and you from current instruction,
disassembly and state of registers you might be able to figure out
which value valgrind complains about and then from source code you can
figure out whether this is a real uninitialized value or false
positive.

-- kjk

On 11/1/07, Brad Hards <[EMAIL PROTECTED]> wrote:
> My stress test is showing a problem with PDFReference15_v5.pdf (doesn't appear
> to occur with PDFReference15_v6.pdf).
>
> I'm having a lot of trouble understanding the valgrind backtraces:
> Doing PDFReference15_v5.pdf :
...
> ...==6811==
> ==6811== Conditional jump or move depends on uninitialised value(s)
> ==6811==at 0x408BB1E: GfxDeviceGrayColorSpace::getGray(GfxColor*, int*) 
> (GfxState.cc:29)
> ==6811==by 0x4051CB5: SplashOutputDev::updateFillColor(GfxState*) 
> (GfxState.h:1065)
> ==6811==by 0x407DE5E: Gfx::doTilingPatternFill(GfxTilingPattern*, int, 
> int) (Gfx.cc:1701)
> ==6811==by 0x408328B: Gfx::doPatternFill(int) (Gfx.cc:1588)
> ==6811==by 0x4083601: Gfx::opFillStroke(Object*, int) (Gfx.cc:1498)
> ==6811==by 0x4077602: Gfx::execOp(Object*, Object*, int) (Gfx.cc:717)
> ==6811==by 0x40777BC: Gfx::go(int) (Gfx.cc:588)
> ==6811==by 0x4077D26: Gfx::display(Object*, int) (Gfx.cc:557)
> ==6811==by 0x40BD915: Page::displaySlice(OutputDev*, double, double, int, 
> int, int, int, int, int, int, int, Catalog*, int (*)(void*),
> void*, int (*)(Annot*, void*), void*) (Page.cc:406)
> ==6811==by 0x40BF9E6: PDFDoc::displayPageSlice(OutputDev*, int, double, 
> double, int, int, int, int, int, int, int, int, int (*)(void*),
>  void*, int (*)(Annot*, void*), void*) (PDFDoc.cc:396)
> ==6811==by 0x41A8C6F: Poppler::Page::renderToImage(double, double, int, 
> int, int, int, Poppler::Page::Rotation) const (poppler-page.cc:
> 185)
> ==6811==by 0x804A513: main (stress-poppler-dir.cpp:48)
> ==6811==
> ==6811== Conditional jump or move depends on uninitialised value(s)
> ==6811==at 0x40932C1: GfxDeviceGrayColorSpace::getRGB(GfxColor*, GfxRGB*) 
> (GfxState.cc:249)
> ==6811==by 0x4051CCB: SplashOutputDev::updateFillColor(GfxState*) 
> (GfxState.h:1069)
> ==6811==by 0x407DE5E: Gfx::doTilingPatternFill(GfxTilingPattern*, int, 
> int) (Gfx.cc:1701)
> ==6811==by 0x408328B: Gfx::doPatternFill(int) (Gfx.cc:1588)
> ==6811==by 0x4083601: Gfx::opFillStroke(Object*, int) (Gfx.cc:1498)
> ==6811==by 0x4077602: Gfx::execOp(Object*, Object*, int) (Gfx.cc:717)
> ==6811==by 0x40777BC: Gfx::go(int) (Gfx.cc:588)
> ==6811==by 0x4077D26: Gfx::display(Object*, int) (Gfx.cc:557)
> ==6811==by 0x40BD915: Page::displaySlice(OutputDev*, double, double, int, 
> int, int, int, int, int, int, int, Catalog*, int (*)(void*),
> void*, int (*)(Annot*, void*), void*) (Page.cc:406)
> ==6811==by 0x40BF9E6: PDFDoc::displayPageSlice(OutputDev*, int, double, 
> double, int, int, int, int, int, int, int, int, int (*)(void*),
>  void*, int (*)(Annot*, void*), void*) (PDFDoc.cc:396)
> ==6811==by 0x41A8C6F: Poppler::Page::renderToImage(double, double, int, 
> int, int, int, Poppler::Page::Rotation) const (poppler-page.cc:
> 185)
> ==6811==by 0x804A513: main (stress-poppler-dir.cpp:48)
> ...
> .
>
> [Note: each dot represents a page that we rendered to an image - this is a 
> page towards the end]
>
> Any ideas?
>
> Brad
>
> ___
> poppler mailing list
> poppler@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/poppler
>
>
>
___
poppler mailing list
poppler@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/poppler


[poppler] Bug rendering PDF spec Version 1.5, PDF 1.4 configuration

2007-11-01 Thread Brad Hards
My stress test is showing a problem with PDFReference15_v5.pdf (doesn't appear
to occur with PDFReference15_v6.pdf).

I'm having a lot of trouble understanding the valgrind backtraces:
Doing PDFReference15_v5.pdf :
...
...
...
...
...
...
...
...==6811==
==6811== Conditional jump or move depends on uninitialised value(s)
==6811==at 0x408BB1E: GfxDeviceGrayColorSpace::getGray(GfxColor*, int*) 
(GfxState.cc:29)
==6811==by 0x4051CB5: SplashOutputDev::updateFillColor(GfxState*) 
(GfxState.h:1065)
==6811==by 0x407DE5E: Gfx::doTilingPatternFill(GfxTilingPattern*, int, int) 
(Gfx.cc:1701)
==6811==by 0x408328B: Gfx::doPatternFill(int) (Gfx.cc:1588)
==6811==by 0x4083601: Gfx::opFillStroke(Object*, int) (Gfx.cc:1498)
==6811==by 0x4077602: Gfx::execOp(Object*, Object*, int) (Gfx.cc:717)
==6811==by 0x40777BC: Gfx::go(int) (Gfx.cc:588)
==6811==by 0x4077D26: Gfx::display(Object*, int) (Gfx.cc:557)
==6811==by 0x40BD915: Page::displaySlice(OutputDev*, double, double, int, 
int, int, int, int, int, int, int, Catalog*, int (*)(void*),
void*, int (*)(Annot*, void*), void*) (Page.cc:406)
==6811==by 0x40BF9E6: PDFDoc::displayPageSlice(OutputDev*, int, double, 
double, int, int, int, int, int, int, int, int, int (*)(void*),
 void*, int (*)(Annot*, void*), void*) (PDFDoc.cc:396)
==6811==by 0x41A8C6F: Poppler::Page::renderToImage(double, double, int, 
int, int, int, Poppler::Page::Rotation) const (poppler-page.cc:
185)
==6811==by 0x804A513: main (stress-poppler-dir.cpp:48)
==6811==
==6811== Conditional jump or move depends on uninitialised value(s)
==6811==at 0x40932C1: GfxDeviceGrayColorSpace::getRGB(GfxColor*, GfxRGB*) 
(GfxState.cc:249)
==6811==by 0x4051CCB: SplashOutputDev::updateFillColor(GfxState*) 
(GfxState.h:1069)
==6811==by 0x407DE5E: Gfx::doTilingPatternFill(GfxTilingPattern*, int, int) 
(Gfx.cc:1701)
==6811==by 0x408328B: Gfx::doPatternFill(int) (Gfx.cc:1588)
==6811==by 0x4083601: Gfx::opFillStroke(Object*, int) (Gfx.cc:1498)
==6811==by 0x4077602: Gfx::execOp(Object*, Object*, int) (Gfx.cc:717)
==6811==by 0x40777BC: Gfx::go(int) (Gfx.cc:588)
==6811==by 0x4077D26: Gfx::display(Object*, int) (Gfx.cc:557)
==6811==by 0x40BD915: Page::displaySlice(OutputDev*, double, double, int, 
int, int, int, int, int, int, int, Catalog*, int (*)(void*),
void*, int (*)(Annot*, void*), void*) (Page.cc:406)
==6811==by 0x40BF9E6: PDFDoc::displayPageSlice(OutputDev*, int, double, 
double, int, int, int, int, int, int, int, int, int (*)(void*),
 void*, int (*)(Annot*, void*), void*) (PDFDoc.cc:396)
==6811==by 0x41A8C6F: Poppler::Page::renderToImage(double, double, int, 
int, int, int, Poppler::Page::Rotation) const (poppler-page.cc:
185)
==6811==by 0x804A513: main (stress-poppler-dir.cpp:48)
...
.

[Note: each dot represents a page that we rendered to an image - this is a page 
towards the end]

Any ideas?

Brad


pgpaYl7N02ONx.pgp
Description: PGP signature
___
poppler mailing list
poppler@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/poppler


Re: [poppler] Poppler is thread-safe?

2007-11-01 Thread Jeff Muizelaar
On Fri, Nov 02, 2007 at 12:17:48AM +0300, Saharov Alex wrote:
> Hello poppler@lists.freedesktop.org,
> 
> Poppler library is thread-safe?

No. Although it would be nice if it was.

-Jeff
___
poppler mailing list
poppler@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/poppler


[poppler] Poppler is thread-safe?

2007-11-01 Thread Saharov Alex
Hello poppler@lists.freedesktop.org,

Poppler library is thread-safe?
Where I can get additional information about this?

Thanks!

---
Alex Saharov
___
poppler mailing list
poppler@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/poppler


[poppler] Branch 'poppler-0.6' - 2 commits - glib/test-poppler-glib.cc poppler/GlobalParams.cc

2007-11-01 Thread Albert Astals Cid
 glib/test-poppler-glib.cc |4 ++--
 poppler/GlobalParams.cc   |6 --
 2 files changed, 6 insertions(+), 4 deletions(-)

New commits:
commit 8f78e56ed6c997d02a90df119c90f08dded21ba0
Author: Jonathan Kew <[EMAIL PROTECTED]>
Date:   Thu Nov 1 21:50:49 2007 +0100

Do not try to parse directories when processing nameToUnicode dir. Fixes 
ugly warnings on mingw32

diff --git a/poppler/GlobalParams.cc b/poppler/GlobalParams.cc
index de7c0cc..8e89afc 100644
--- a/poppler/GlobalParams.cc
+++ b/poppler/GlobalParams.cc
@@ -654,9 +654,11 @@ void GlobalParams::scanEncodingDirs() {
   GDir *dir;
   GDirEntry *entry;
 
-  dir = new GDir(POPPLER_DATADIR "/nameToUnicode", gFalse);
+  dir = new GDir(POPPLER_DATADIR "/nameToUnicode", gTrue);
   while (entry = dir->getNextEntry(), entry != NULL) {
-parseNameToUnicode(entry->getFullPath());
+if (!entry->isDir()) {
+  parseNameToUnicode(entry->getFullPath());
+}
 delete entry;
   }
   delete dir;
commit a343cf1d27dfa88a136b1efc3ea03a53d7c86db2
Author: Albert Astals Cid <[EMAIL PROTECTED]>
Date:   Thu Nov 1 21:49:46 2007 +0100

Add some castings to make it compile

diff --git a/glib/test-poppler-glib.cc b/glib/test-poppler-glib.cc
index 87d5234..96dc147 100644
--- a/glib/test-poppler-glib.cc
+++ b/glib/test-poppler-glib.cc
@@ -413,7 +413,7 @@ int main (int argc, char *argv[])
   printf ("\tFound text \"Bitwise\" at positions:\n");
   for (l = list; l != NULL; l = l->next)
 {
-  PopplerRectangle *rect = l->data;
+  PopplerRectangle *rect = (PopplerRectangle *)l->data;
 
   printf ("  (%f,%f)-(%f,%f)\n", rect->x1, rect->y1, rect->x2, rect->y2);
 }
@@ -484,7 +484,7 @@ int main (int argc, char *argv[])
  char *filename, *strdate;
 
  filename = g_strdup_printf ("/tmp/attach%d", i);
- attachment = l->data;
+ attachment = (PopplerAttachment *)l->data;
  g_print ("\tname: %s\n", attachment->name);
  g_print ("\tdescription: %s\n", attachment->description);
  g_print ("\tsize: %d\n", attachment->size);
___
poppler mailing list
poppler@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/poppler


[poppler] 2 commits - glib/test-poppler-glib.cc poppler/GlobalParams.cc

2007-11-01 Thread Albert Astals Cid
 glib/test-poppler-glib.cc |4 ++--
 poppler/GlobalParams.cc   |6 --
 2 files changed, 6 insertions(+), 4 deletions(-)

New commits:
commit cb80112afed2c5b9642c3c43f1cc001ed88d08cb
Author: Jonathan Kew <[EMAIL PROTECTED]>
Date:   Thu Nov 1 20:53:05 2007 +0100

Do not try to parse directories when processing nameToUnicode dir. Fixes 
ugly warnings on mingw32

diff --git a/poppler/GlobalParams.cc b/poppler/GlobalParams.cc
index cf97e78..21b5044 100644
--- a/poppler/GlobalParams.cc
+++ b/poppler/GlobalParams.cc
@@ -655,9 +655,11 @@ void GlobalParams::scanEncodingDirs() {
   GDir *dir;
   GDirEntry *entry;
 
-  dir = new GDir(POPPLER_DATADIR "/nameToUnicode", gFalse);
+  dir = new GDir(POPPLER_DATADIR "/nameToUnicode", gTrue);
   while (entry = dir->getNextEntry(), entry != NULL) {
-parseNameToUnicode(entry->getFullPath());
+if (!entry->isDir()) {
+  parseNameToUnicode(entry->getFullPath());
+}
 delete entry;
   }
   delete dir;
commit ad6b888edff7b30be72df948c4052b9934a37705
Author: Albert Astals Cid <[EMAIL PROTECTED]>
Date:   Thu Nov 1 20:48:21 2007 +0100

Add some castings to make it compile

diff --git a/glib/test-poppler-glib.cc b/glib/test-poppler-glib.cc
index 6c8e840..a3cc38e 100644
--- a/glib/test-poppler-glib.cc
+++ b/glib/test-poppler-glib.cc
@@ -415,7 +415,7 @@ int main (int argc, char *argv[])
   printf ("\tFound text \"Bitwise\" at positions:\n");
   for (l = list; l != NULL; l = l->next)
 {
-  PopplerRectangle *rect = l->data;
+  PopplerRectangle *rect = (PopplerRectangle *)l->data;
 
   printf ("  (%f,%f)-(%f,%f)\n", rect->x1, rect->y1, rect->x2, rect->y2);
 }
@@ -486,7 +486,7 @@ int main (int argc, char *argv[])
  char *filename, *strdate;
 
  filename = g_strdup_printf ("/tmp/attach%d", i);
- attachment = l->data;
+ attachment = (PopplerAttachment *)l->data;
  g_print ("\tname: %s\n", attachment->name);
  g_print ("\tdescription: %s\n", attachment->description);
  g_print ("\tsize: %d\n", attachment->size);
___
poppler mailing list
poppler@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/poppler


Re: [poppler] Bug: 3428 "[kpdf] print some pages"

2007-11-01 Thread Albert Astals Cid
A Dijous 01 Novembre 2007, Brad Hards va escriure:
> http://bugs.freedesktop.org/show_bug.cgi?id=3428
>
> What is the story with this bug? Can it be closed?

Yeah, we do that now from qt frontends.

> If we can close that, we can then close 3427.

Well, 3427 depends on 3433 that it's still open, but about the comments i'm 
unsure if we should close it or not.

Albert

>
> Brad


___
poppler mailing list
poppler@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/poppler


Re: [poppler] Branch 'poppler-0.6' - 2 commits - glib/test-poppler-glib.c qt4/src qt4/tests

2007-11-01 Thread Albert Astals Cid
A Dijous 01 Novembre 2007, Brad Hards va escriure:
> On Thursday 01 November 2007 09:45, Albert Astals Cid wrote:
> >  glib/test-poppler-glib.c |  512
> > --- qt4/src/poppler-qt4.h   
> > | 64 
> >  qt4/tests/Makefile.am|   13
> >  qt4/tests/check_password.cpp |   87 ++
> >  qt4/tests/stress-poppler-dir.cpp |   63 
> >  qt4/tests/test-poppler-qt4.cpp   |   15 -
> >  6 files changed, 231 insertions(+), 523 deletions(-)
>
> Can we close bug 4557?

I'd say yes, actually it's an evince bug.

Albert

>
> Brad


___
poppler mailing list
poppler@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/poppler


Re: [poppler] How to use poppler, to display PDF file in lesstif based application?

2007-11-01 Thread Dominic Lachowicz
Hi Manuel,

Using the poppler-glib API, you can render a PopplerPage to a
GdkPixbuf or to a cairo_t. A GdkPixbuf is just an RGBA image that you
can blit onto an X11 Drawable. If you want to use cairo, you can
create a cairo surface using the lesstif widget's X11 Drawable, and
then render onto the cairo surface.

http://cgit.freedesktop.org/poppler/poppler/tree/glib/poppler-page.h
http://www.cairographics.org/manual/cairo-XLib-Surfaces.html

Hope that helps,
Dom

On 11/1/07, Manuel Reimer <[EMAIL PROTECTED]> wrote:
> Hello,
>
> is it possible to display a PDF file in an lesstif based application? If
> so: Which API would I have to use and where can I find the required
> documentation?
>
> Thanks in advance
>
> CU
>
> Manuel
>
> ___
> poppler mailing list
> poppler@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/poppler
>


-- 
Counting bodies like sheep to the rhythm of the war drums.
___
poppler mailing list
poppler@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/poppler


[poppler] How to use poppler, to display PDF file in lesstif based application?

2007-11-01 Thread Manuel Reimer
Hello,

is it possible to display a PDF file in an lesstif based application? If 
so: Which API would I have to use and where can I find the required 
documentation?

Thanks in advance

CU

Manuel

___
poppler mailing list
poppler@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/poppler


[poppler] Bug: 3428 "[kpdf] print some pages"

2007-11-01 Thread Brad Hards
http://bugs.freedesktop.org/show_bug.cgi?id=3428

What is the story with this bug? Can it be closed?

If we can close that, we can then close 3427.

Brad


pgpeqP7vYJR3l.pgp
Description: PGP signature
___
poppler mailing list
poppler@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/poppler


Re: [poppler] Branch 'poppler-0.6' - 2 commits - glib/test-poppler-glib.c qt4/src qt4/tests

2007-11-01 Thread Brad Hards
On Thursday 01 November 2007 09:45, Albert Astals Cid wrote:
>  glib/test-poppler-glib.c |  512
> --- qt4/src/poppler-qt4.h| 
>  64 
>  qt4/tests/Makefile.am|   13
>  qt4/tests/check_password.cpp |   87 ++
>  qt4/tests/stress-poppler-dir.cpp |   63 
>  qt4/tests/test-poppler-qt4.cpp   |   15 -
>  6 files changed, 231 insertions(+), 523 deletions(-)
Can we close bug 4557?

Brad


pgpoG9RKTuXZe.pgp
Description: PGP signature
___
poppler mailing list
poppler@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/poppler