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

--- Comment #2 from Dmitry Kazakov <dimul...@gmail.com> ---
The problem happens in line 276 in
KisPlaybackEngineQT::throttledDriverCallback(). It seems like `m_d->measure` is
null by the time of the call. The problem is that two lines above Krita
writes(!) into the same location, so, most probably, some recursion happens in
`bool neededRefresh = displayProxy->displayFrame(targetFrame, false)` function
call... :(


        269 [1]         if (currentFrame != targetFrame) {
0x7ffc752fe3a4  <+  868>        41 39 c4                    cmp    %eax,%r12d
0x7ffc752fe3a7  <+  871>        74 36                       je    
0x7ffc752fe3df <_ZN19KisPlaybackEngineQT23throttledDriverCallbackEv+927>
        C:/Packaging/KritaWS/deps-install/include/QtCore/qscopedpointer.h:
0x7ffc752fe3a9  <+  873>        48 8b 4e 28                 mov   
0x28(%rsi),%rcx
0x7ffc752fe3ad  <+  877>        48 8b 11                    mov    (%rcx),%rdx
0x7ffc752fe3b0  <+  880>        48 8b 49 08                 mov   
0x8(%rcx),%rcx
        106 [1]     return m_dropFrames;
0x7ffc752fe3b4  <+  884>        0f b6 52 3c                 movzbl
0x3c(%rdx),%edx
        271 [1]             m_d->measure->waitingForFrame =
!m_d->driver->dropFrames();
0x7ffc752fe3b8  <+  888>        80 f2 01                    xor    $0x1,%dl
0x7ffc752fe3bb  <+  891>        88 51 18                    mov   
%dl,0x18(%rcx)
        273 [1]             bool neededRefresh =
displayProxy->displayFrame(targetFrame, false);
0x7ffc752fe3be  <+  894>        48 89 f9                    mov    %rdi,%rcx
0x7ffc752fe3c1  <+  897>        89 c2                       mov    %eax,%edx
0x7ffc752fe3c3  <+  899>        45 31 c0                    xor    %r8d,%r8d
0x7ffc752fe3c6  <+  902>        e8 b5 c6 37 00              call  
0x7ffc7567aa80 <_ZN20KisFrameDisplayProxy12displayFrameEib>
        C:/Packaging/KritaWS/deps-install/include/QtCore/qscopedpointer.h:
0x7ffc752fe3cb  <+  907>        48 8b 4e 28                 mov   
0x28(%rsi),%rcx
0x7ffc752fe3cf  <+  911>        48 8b 49 08                 mov   
0x8(%rcx),%rcx
        276 [1]             m_d->measure->waitingForFrame =
m_d->measure->waitingForFrame && neededRefresh;
0x7ffc752fe3d3  <+  915>        80 79 18 00                 cmpb  
$0x0,0x18(%rcx)
0x7ffc752fe3d7  <+  919>        0f 95 c2                    setne  %dl
0x7ffc752fe3da  <+  922>        20 c2                       and    %al,%dl
0x7ffc752fe3dc  <+  924>        88 51 18                    mov   
%dl,0x18(%rcx)
        279 [1] }

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

Reply via email to