[Okular-devel] Review Request 118293: Make DocumentInfo not be XML based. Let users ask for only the keys they need.

Luigi Toscano luigi.toscano at tiscali.it
Tue Jun 17 23:00:11 UTC 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/118293/#review60341
-----------------------------------------------------------


2) Generate a PDF document with latex, open it, change the source and regenerate it; wait until okular loads it, try to open the info dialog, crash:

Application: Okular (okular), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[KCrash Handler]
#5  ref (this=0x200000069) at /usr/include/qt4/QtCore/qatomic_x86_64.h:121
#6  operator= (other=..., this=0x175db40) at /usr/include/qt4/QtCore/qmap.h:433
#7  Okular::DocumentInfo::DocumentInfo (this=0x7fff4c5544f0, info=...) at /home/prova/kde-svn/git.kde.org/kde/kdegraphics/okular/core/document.cpp:4662
#8  0x00007ff4936e5871 in Okular::Document::documentInfo (this=this at entry=0x11a8f80, keys=...) at /home/prova/kde-svn/git.kde.org/kde/kdegraphics/okular/core/document.cpp:2587
#9  0x00007ff4936e63a0 in Okular::Document::documentInfo (this=0x11a8f80) at /home/prova/kde-svn/git.kde.org/kde/kdegraphics/okular/core/document.cpp:2582
#10 0x00007ff493a2b4eb in PropertiesDialog::PropertiesDialog (this=0x14f2fe0, parent=0x110, doc=0x16c3ea0) at /home/prova/kde-svn/git.kde.org/kde/kdegraphics/okular/ui/propertiesdialog.cpp:54
#11 0x00007ff4939aca3c in Okular::Part::slotShowProperties (this=0x11962c0) at /home/prova/kde-svn/git.kde.org/kde/kdegraphics/okular/part.cpp:2465
#12 0x00007ff4939b962d in Okular::Part::qt_static_metacall (_o=0x7ff4a1b55620 <main_arena>, _id=272, _a=0x16c3ea0, _c=<optimized out>) at /opt/kdebuild/kde/kdegraphics/okular/part.moc:232
#13 0x00007ff4a29a66aa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#14 0x00007ff4a38d5572 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#15 0x00007ff4a38d6f43 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#16 0x00007ff4a3d01959 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#17 0x00007ff4a3d05ea9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#18 0x00007ff4a46b51f5 in KMenu::mouseReleaseEvent (this=0x1417340, e=0x7fff4c554ea0) at /home/prova/kde-svn/git.kde.org/kde/kdelibs/kdeui/widgets/kmenu.cpp:464
#19 0x00007ff4a392acca in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#20 0x00007ff4a3d09d0b in QMenu::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#21 0x00007ff4a38db6cc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#22 0x00007ff4a38e1e3a in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#23 0x00007ff4a45fe83a in KApplication::notify (this=0x7fff4c555720, receiver=0x1417340, event=0x7fff4c554ea0) at /home/prova/kde-svn/git.kde.org/kde/kdelibs/kdeui/kernel/kapplication.cpp:311
#24 0x00007ff4a299241d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#25 0x00007ff4a38e1633 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#26 0x00007ff4a395366c in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#27 0x00007ff4a3951dac in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#28 0x00007ff4a3979712 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#29 0x00007ff49de5de04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007ff49de5e048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007ff49de5e0ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007ff4a29bf655 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#33 0x00007ff4a39797c6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#34 0x00007ff4a2990fef in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#35 0x00007ff4a29912e5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#36 0x00007ff4a2996ab9 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#37 0x0000000000409436 in main (argc=<optimized out>, argv=<optimized out>) at /home/prova/kde-svn/git.kde.org/kde/kdegraphics/okular/shell/main.cpp:174


- Luigi Toscano


On May 24, 2014, 4:03 p.m., Albert Astals Cid wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/118293/
> -----------------------------------------------------------
> 
> (Updated May 24, 2014, 4:03 p.m.)
> 
> 
> Review request for Okular.
> 
> 
> Repository: okular
> 
> 
> Description
> -------
> 
> DocumentInfo is now QMap based instead of XML based. Makes internal handling easier. The generators don't do any caching anymore since the Document was already doing caching, made no sense. Now we only ask for the keys we need (except the properties dialog) so the generators that are slow can decide to return only what was asked for. Some generators (i.e. unpluck, xps or the text based ones) will still return all the info since it's calculated on load time and it's not time consuming to return everything if we already have it.
> 
> 
> Diffs
> -----
> 
>   core/document.h 06bac8a 
>   core/document.cpp 504d07c 
>   core/document_p.h aabd192 
>   core/generator.h 506f8a8 
>   core/generator.cpp ec1d1f7 
>   core/script/kjs_document.cpp c3280cd 
>   core/textdocumentgenerator.h ec331d6 
>   core/textdocumentgenerator.cpp d598ccc 
>   generators/chm/generator_chm.h 5d97009 
>   generators/chm/generator_chm.cpp 84b9dde 
>   generators/djvu/generator_djvu.h 93ee4de 
>   generators/djvu/generator_djvu.cpp c506ce3 
>   generators/dvi/generator_dvi.h d7bf8fd 
>   generators/dvi/generator_dvi.cpp 0777af7 
>   generators/fax/generator_fax.h 1cb7d22 
>   generators/fax/generator_fax.cpp 38873ef 
>   generators/kimgio/generator_kimgio.h faebd85 
>   generators/plucker/generator_plucker.h 8dac4b8 
>   generators/plucker/generator_plucker.cpp 4ffdead 
>   generators/poppler/generator_pdf.h 1a34bb7 
>   generators/poppler/generator_pdf.cpp a363842 
>   generators/spectre/generator_ghostview.h ab9c33d 
>   generators/spectre/generator_ghostview.cpp 7b0146a 
>   generators/tiff/generator_tiff.h 9ad1de6 
>   generators/tiff/generator_tiff.cpp bc692de 
>   generators/xps/generator_xps.h 4c56e8c 
>   generators/xps/generator_xps.cpp 2399a96 
>   part.cpp 67440bd 
>   ui/presentationwidget.cpp 4aaec2a 
>   ui/propertiesdialog.cpp 485c2de 
> 
> Diff: https://git.reviewboard.kde.org/r/118293/diff/
> 
> 
> Testing
> -------
> 
> Opened a few files, works as it did. Added some extra debug, made sure that only the info we want is asked for, and that it's properly cached.
> 
> 
> Thanks,
> 
> Albert Astals Cid
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/okular-devel/attachments/20140617/4b5c4427/attachment-0001.html>


More information about the Okular-devel mailing list