D11626: Fix octave backend problem with repetitive addition of function `cantor_print ()` in worksheet

Nikita Sirgienko noreply at phabricator.kde.org
Tue Apr 3 17:10:10 UTC 2018


sirgienko added a comment.


  >> What about this `cantor_print()` (`15.12` 'stable' cantor also have this problem): each time, when you save worksheet this command is added to worksheet (not more than once per cantor session)
  > 
  > Let's concentrate on 18.04 now. We have two outstanding problems that need to be urgently fixed - running of the saved project and missing latex output.
  
  @asemke, maybe I understand, what is the problem: when we load worksheet, we login twice, so we set `m_prompt, m_tempDir` after first login, but after second login we can't set it again, because `if (!m_currentExpression || m_prompt.isEmpty())` never come `true` and we never call `changeStatus(Done);` inside this branch, so we never run rest of entries.
  
  First login backtrace (not full):
  
    #0  OctaveSession::login (this=0x147bf90)
        at /home/mmmm1998/Документы/Репозитории/cantor/src/backends/octave/octavesession.cpp:59
    #1  0x00007fffbe00561d in Worksheet::loginToSession (this=0x8e3a00)
        at /home/mmmm1998/Документы/Репозитории/cantor/src/worksheet.cpp:89
    #2  Worksheet::enableHighlighting (this=this at entry=0x8e3a00, highlight=<optimized out>)
        at /home/mmmm1998/Документы/Репозитории/cantor/src/worksheet.cpp:769
    #3  0x00007fffbe0067c3 in Worksheet::load (this=this at entry=0x8e3a00, 
        device=device at entry=0x7fffffffcc90)
        at /home/mmmm1998/Документы/Репозитории/cantor/src/worksheet.cpp:1053
    #4  0x00007fffbe006ea0 in Worksheet::load (this=0x8e3a00, filename=...)
        at /home/mmmm1998/Документы/Репозитории/cantor/src/worksheet.cpp:951
    #5  0x00007fffbdff4f02 in CantorPart::openFile (this=0x88dee0)
        at /home/mmmm1998/Документы/Репозитории/cantor/src/cantor_part.cpp:427
  
  Second `login` backtace (pay attention to value of `m_loginDone`)
  
    #0  OctaveSession::login (this=0x147bf90)
        at /home/mmmm1998/Документы/Репозитории/cantor/src/backends/octave/octavesession.cpp:59
    #1  0x00007fffbdffef8e in Worksheet::loginToSession (this=0x8e3a00)
        at /home/mmmm1998/Документы/Репозитории/cantor/src/worksheet.cpp:89
    #2  0x00007fffbe038ed0 in Worksheet::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, 
        _id=<optimized out>, _a=<optimized out>)
        at /home/mmmm1998/Документы/Репозитории/cantor/build/src/moc_worksheet.cpp:531
    #3  0x00007ffff4c39211 in QObject::event(QEvent*) ()
       from /home/mmmm1998/Qt/5.8/gcc_64/lib/libQt5Core.so.5
    #4  0x00007ffff5c9cf4b in QGraphicsScene::event(QEvent*) ()
       from /home/mmmm1998/Qt/5.8/gcc_64/lib/libQt5Widgets.so.5
    #5  0x00007ffff59a9dcc in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
       from /home/mmmm1998/Qt/5.8/gcc_64/lib/libQt5Widgets.so.5
    #6  0x00007ffff59b1236 in QApplication::notify(QObject*, QEvent*) ()
       from /home/mmmm1998/Qt/5.8/gcc_64/lib/libQt5Widgets.so.5
    #7  0x00007ffff4c0f458 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
       from /home/mmmm1998/Qt/5.8/gcc_64/lib/libQt5Core.so.5
    (More stack frames follow...)
    (gdb) frame 1
    #1  0x00007fffbdffef8e in Worksheet::loginToSession (this=0x8e3a00)
        at /home/mmmm1998/Документы/Репозитории/cantor/src/worksheet.cpp:89
    89	    m_session->login();
    (gdb) print m_loginDone
    $1 = true

REPOSITORY
  R55 Cantor

REVISION DETAIL
  https://phabricator.kde.org/D11626

To: sirgienko, #cantor, asemke
Cc: #cantor, #kde_edu, narvaez, apol
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-edu/attachments/20180403/f4d9210b/attachment.html>


More information about the kde-edu mailing list