I fixed it in
BlizzBugsSuck by ignoring modifier keys on header rows, so if you shift-click a header, it acts like you clicked without the shift. Doing nothing when shift-clicking a header is a little confusing, because the button has visual feedback on mousedown/mouseup.
The Blizzard code is probably best fixed this way:
Code:
<OnClick>
if self.isHeader then
self:GetParent():GetParent():OnHeaderButtonClicked(self, self.tradeSkillInfo, button);
elseif IsModifiedClick() then
HandleModifiedItemClick(C_TradeSkillUI.GetRecipeLink(self.tradeSkillInfo.recipeID));
else
self:GetParent():GetParent():OnRecipeButtonClicked(self, self.tradeSkillInfo, button);
end
</OnClick>