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