[okular] [Bug 379296] New: Reloading file hides the annotation toolbar

Oliver Sander bugzilla_noreply at kde.org
Thu Apr 27 21:34:56 UTC 2017


https://bugs.kde.org/show_bug.cgi?id=379296

            Bug ID: 379296
           Summary: Reloading file hides the annotation toolbar
           Product: okular
           Version: 1.1.0
          Platform: Other
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: PDF backend
          Assignee: okular-devel at kde.org
          Reporter: oliver.sander at tu-dresden.de
  Target Milestone: ---

1) Open any pdf document
2) Press F6 to open the annotation toolbar
3) Press F5 to reload the document

Result: the annotation toolbar disappears again.

This is more annoying than it may seem, because you can also trigger a reload
by saving the file onto itself.  Saving a file onto itself will touch the file;
as a consequence, okular will (erroneously) think that it has changed, and
reload it.  That is unfortunate, because saving while annotating is a frequent
thing to do.

I had a look with the debugger.  Apparently, reloading involves first closing
the document, and then opening it again (as can be seen from the backtrace I
attach below).  Closing the document hides the annotation toolbar (that sounds
reasonable, I guess), but then reopening does not switch it on again.  Any
suggestions on how to fix this?

Here is the backtrace: I placed a breakpoint at pageviewutils.cpp:581, and then
hit F6 & F5.

#0  PageViewToolBar::hideAndDestroy (this=0x555555f73a80) at
/home/sander/okular/ui/pageviewutils.cpp:581
#1  0x00007fffdc2178c0 in PageViewAnnotator::setEnabled (this=0x5555561f7ff0,
on=false) at /home/sander/okular/ui/pageviewannotator.cpp:726
#2  0x00007fffdc242a3c in PageView::slotToggleAnnotator (this=0x555555b77830,
on=false) at /home/sander/okular/ui/pageview.cpp:4982
#3  0x00007fffdc250fd8 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>,
QtPrivate::List<bool>, void, void (PageView::*)(bool)>::call (f=(void
(PageView::*)(PageView * const, bool)) 0x7fffdc2426e0
<PageView::slotToggleAnnotator(bool)>, o=0x555555b77830, arg=0x7fffffffce70) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:141
#4  0x00007fffdc24fd49 in QtPrivate::FunctionPointer<void
(PageView::*)(bool)>::call<QtPrivate::List<bool>, void> (f=(void
(PageView::*)(PageView * const, bool)) 0x7fffdc2426e0
<PageView::slotToggleAnnotator(bool)>, o=0x555555b77830, arg=0x7fffffffce70) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:160
#5  0x00007fffdc24c661 in QtPrivate::QSlotObject<void (PageView::*)(bool),
QtPrivate::List<bool>, void>::impl (which=1, this_=0x555555cc8a90,
r=0x555555b77830, a=0x7fffffffce70, ret=0x0) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:120
#6  0x00007ffff3fba95e in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007ffff48f7242 in QAction::toggled(bool) () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8  0x00007ffff48f9a50 in QAction::setChecked(bool) () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9  0x00007ffff48f9b8c in QAction::activate(QAction::ActionEvent) () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007fffdc1b9c07 in QAction::trigger (this=0x555555cc7b40) at
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qaction.h:183
#11 0x00007fffdc22e6cd in PageView::updateActionState (this=0x555555b77830,
haspages=false, documentChanged=true, hasformwidgets=false) at
/home/sander/okular/ui/pageview.cpp:1145
#12 0x00007fffdc22e07d in PageView::notifySetup (this=0x555555b77830,
pageSet=..., setupFlags=1) at /home/sander/okular/ui/pageview.cpp:1063
#13 0x00007fffd7d2571a in Okular::Document::closeDocument (this=0x5555558c2600)
at /home/sander/okular/core/document.cpp:2614
#14 0x00007fffdc1b1efa in Okular::Part::closeUrl (this=0x555555939f80,
promptToSave=true) at /home/sander/okular/part.cpp:1660
#15 0x00007fffdc1b205c in Okular::Part::closeUrl (this=0x555555939f80) at
/home/sander/okular/part.cpp:1681
#16 0x00007fffdc1b2872 in Okular::Part::slotDoFileDirty (this=0x555555939f80)
at /home/sander/okular/part.cpp:1805
#17 0x00007fffdc1b70a9 in Okular::Part::slotReload (this=0x555555939f80) at
/home/sander/okular/part.cpp:2725

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Okular-devel mailing list