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 09:03:09 BST 2015



> On May 27, 2015, 7:09 a.m., Boudewijn Rempt wrote:
> > krita/ui/KisApplication.cpp, line 371
> > <https://git.reviewboard.kde.org/r/123911/diff/1/?file=370875#file370875line371>
> >
> >     This is the only bit I don't understand: where is the mainwindow now added to the list of  open mainwindows? Or isn't that necessary anymore?

It's inside KisPart::createMainWindow, line 262.


- Stefano


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


On May 26, 2015, 11:09 p.m., Stefano Bonicatti wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/123911/
> -----------------------------------------------------------
> 
> (Updated May 26, 2015, 11:09 p.m.)
> 
> 
> 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/20150527/1d9bdbf9/attachment.htm>


More information about the calligra-devel mailing list