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

Dmitry Kazakov <dimul...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|                            |https://invent.kde.org/grap
                   |                            |hics/krita/commit/e09e59548
                   |                            |481b32f025c64f9b322bd28ab6d
                   |                            |dc9e
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #5 from Dmitry Kazakov <dimul...@gmail.com> ---
Git commit 5aef0e99a7b64a8cdb6970803e9c080d47e918e6 by Dmitry Kazakov.
Committed on 29/05/2020 at 15:11.
Pushed by dkazakov into branch 'master'.

Make sanity check in CanvasSwitcher less strict

I couldn't reproduce the crash, but the mechanics happens like that:

1) KisCanvas2::setCanvasWidget() adds the canvas to the list of the
   tracked ones and continues loading process.

2) Some other canvas gets activated by spontaneous SetFocus event
   (Note: I haven't managed to reproduce that!)

3) KisMainWindow::addView() registers the canvas at the input manager
   again. But since some other canvas has been activated by a spontaneous
   event, d->canvas is not equal to canvas anymore.

Possible solutions:

Option A:
Remove double registration of the canvas in the input manager and do
it only once either in KisCanvas::setCanvasWidget() or in KisMainWindow

Option B:
Justremove the sanity check. But this way we may miss real bugs that
may happen because of double initialization of the canvas.

M  +7    -2    libs/ui/input/kis_input_manager_p.cpp

https://invent.kde.org/graphics/krita/commit/5aef0e99a7b64a8cdb6970803e9c080d47e918e6

--- Comment #6 from Dmitry Kazakov <dimul...@gmail.com> ---
Git commit e09e59548481b32f025c64f9b322bd28ab6ddc9e by Dmitry Kazakov.
Committed on 29/05/2020 at 15:11.
Pushed by dkazakov into branch 'master'.

Remove double initialization of the inut manager on image creation

The initialization in KisCanvas2::setCanvasWidget() was intended only
for the case when the canvas type is switched (opengl<->qpainter) and
it shouldn't trigger during normal canvas creation process.

This patch is too dangerous for 4.3.0 release, it should be pushed into
4.3 branch only for 4.3.1 release.

M  +14   -10   libs/ui/canvas/kis_canvas2.cpp

https://invent.kde.org/graphics/krita/commit/e09e59548481b32f025c64f9b322bd28ab6ddc9e

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to