With Matlab 2024b when quartilestyle is selected as "shadow" it was causing an error, due to "Marker" option in the fill code.
Instead.
If you subsitute the fill code as follows the error would be fixed.
obj.ViolinPlotQ = ... % plot color will be overwritten later
fill(w(indices), h(indices), [1 1 1],'FaceColor', 'none','LineStyle','-');