@@ -647,7 +647,11 @@ void DMD::ZeDMDThread()
647647 {
648648 bufferPosition = GetNextBufferQueuePosition (bufferPosition, updateBufferQueuePosition);
649649
650- if (m_pSerum && !IsSerumMode (m_pUpdateBufferQueue[bufferPosition]->mode )) continue ;
650+ if (m_pSerum &&
651+ (!IsSerumMode (m_pUpdateBufferQueue[bufferPosition]->mode ) ||
652+ (m_pZeDMD->GetWidth () == 256 && m_pUpdateBufferQueue[bufferPosition]->mode == Mode::SerumV2_32_64) ||
653+ (m_pZeDMD->GetWidth () < 256 && m_pUpdateBufferQueue[bufferPosition]->mode == Mode::SerumV2_64_32)))
654+ continue ;
651655
652656 // Note: libzedmd has its own update detection.
653657
@@ -656,7 +660,8 @@ void DMD::ZeDMDThread()
656660 if (m_pUpdateBufferQueue[bufferPosition]->width != width ||
657661 m_pUpdateBufferQueue[bufferPosition]->height != height)
658662 {
659- Log (DMDUtil_LogLevel_INFO, " Change frame size from %dx%d to %dx%d" , width, height, m_pUpdateBufferQueue[bufferPosition]->width , m_pUpdateBufferQueue[bufferPosition]->height );
663+ Log (DMDUtil_LogLevel_INFO, " Change frame size from %dx%d to %dx%d" , width, height,
664+ m_pUpdateBufferQueue[bufferPosition]->width , m_pUpdateBufferQueue[bufferPosition]->height );
660665 width = m_pUpdateBufferQueue[bufferPosition]->width ;
661666 height = m_pUpdateBufferQueue[bufferPosition]->height ;
662667 // Activate the correct scaling mode.
@@ -689,10 +694,6 @@ void DMD::ZeDMDThread()
689694 }
690695 else if (m_pSerum && IsSerumMode (m_pUpdateBufferQueue[bufferPosition]->mode ))
691696 {
692- if ((m_pZeDMD->GetWidth () == 256 && m_pUpdateBufferQueue[bufferPosition]->mode == Mode::SerumV2_32_64) ||
693- (m_pZeDMD->GetWidth () < 256 && m_pUpdateBufferQueue[bufferPosition]->mode == Mode::SerumV2_64_32))
694- continue ;
695-
696697 if (IsSerumV2Mode (m_pUpdateBufferQueue[bufferPosition]->mode ))
697698 {
698699 m_pZeDMD->RenderRgb565 (m_pUpdateBufferQueue[bufferPosition]->segData );
0 commit comments