diff --git a/generators/poppler/generator_pdf.cpp b/generators/poppler/generator_pdf.cpp index a63feb115..003aafe7d 100644 --- a/generators/poppler/generator_pdf.cpp +++ b/generators/poppler/generator_pdf.cpp @@ -170,9 +170,25 @@ Okular::Action* createLinkFromPopplerLink(const Poppler::Link *popplerLink) break; case Poppler::Link::Goto: + { popplerLinkGoto = static_cast(popplerLink); +#ifdef HAVE_POPPLER_0_11 + const Poppler::LinkDestination dest = popplerLinkGoto->destination(); + const QString destName = dest.destinationName(); + if (destName.isEmpty()) + { + fillViewportFromLinkDestination( viewport, dest ); + link = new Okular::GotoAction(popplerLinkGoto->fileName(), viewport); + } + else + { + link = new Okular::GotoAction(popplerLinkGoto->fileName(), destName); + } +#else fillViewportFromLinkDestination( viewport, popplerLinkGoto->destination() ); link = new Okular::GotoAction(popplerLinkGoto->fileName(), viewport); +#endif + } break; case Poppler::Link::Execute: