Review Request 123911: Fix crash due to window menu and view list not properly updating on secondary windows

Stefano Bonicatti smjert at gmail.com
Wed May 27 00:09:07 BST 2015


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

Review request for Calligra.


Repository: calligra


Description
-------

If two (ore more) windows are opened, then on the first multiple documents are opened, all the other windows won't update their view list in the Window -> New View menu.
This also happens when closing documents on the first window, the other will still show a possibility to open a view on a document that is actually closed, and if you try to, Krita will crash.

This happen because the secondary windows updates their menu only when receiving documentOpened, documentClosed signals which are originally emitted by KisPart::addView and KisPart::removeView or when a view, in the same window, is activated.
Given that to trigger the bug the secondary windows should be with no view opened, then the issue is on the signals: documentOpened is only called if the amount of views present is 1.
Something similar goes for documentClosed, it is only sent when there's no view opened.

This is wrong because documentOpened should be bound to the event of actually opening a new document, not a view, and no views amount check should be done.
For documentClosed is again the same, it should be bound to the event of actually closing a document not a view.
Also, adding a view
It wasn't directly inherent with this issue, but i've also fixed the fact that all new windows aren't appended in the KisPart mainWindows list.

This might also fix: https://bugs.kde.org/show_bug.cgi?id=348162 since the backtrace is very similar to the crash i got.

While this patch is simple i preferred opening a review just to be sure i didn't miss any unwanted behaviour.


Diffs
-----

  krita/ui/KisApplication.cpp 082ffee 
  krita/ui/KisPart.cpp 24aac23 

Diff: https://git.reviewboard.kde.org/r/123911/diff/


Testing
-------

Compiles fine, the view list updates correctly both in the case of opening or closing a document.


Thanks,

Stefano Bonicatti

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20150526/65676e66/attachment.htm>


More information about the calligra-devel mailing list