diff --git a/server/TracyView.cpp b/server/TracyView.cpp index 63949d5c..5a9bd666 100644 --- a/server/TracyView.cpp +++ b/server/TracyView.cpp @@ -3010,11 +3010,25 @@ int View::DispatchZoneLevel( const Vector>& vec, bool hover const auto yPos = wpos.y + offset; if( yPos + ostep >= yMin && yPos <= yMax ) { - return DrawZoneLevel>( vec, hover, pxns, nspx, wpos, _offset, depth, yMin, yMax, tid ); + if( vec.is_magic() ) + { + return DrawZoneLevel>( *(Vector*)( &vec ), hover, pxns, nspx, wpos, _offset, depth, yMin, yMax, tid ); + } + else + { + return DrawZoneLevel>( vec, hover, pxns, nspx, wpos, _offset, depth, yMin, yMax, tid ); + } } else { - return SkipZoneLevel>( vec, hover, pxns, nspx, wpos, _offset, depth, yMin, yMax, tid ); + if( vec.is_magic() ) + { + return SkipZoneLevel>( *(Vector*)( &vec ), hover, pxns, nspx, wpos, _offset, depth, yMin, yMax, tid ); + } + else + { + return SkipZoneLevel>( vec, hover, pxns, nspx, wpos, _offset, depth, yMin, yMax, tid ); + } } }