I'm not really familiar with the US constitution, but doesn't the 1st Amendment only protect speech, petition and assembly? Is there some part I'm missing or did a court classify campaign donations as speech?
If you actually read the decision, there's nothing mind boggling about it. It is consistent with the US Constitution, and with Supreme Court precedents. The result of that decision has been terrible, but we can only reliably fix it through the defined constitutional amendment process.