I hold the 2 non-moveable blocks inside a vector, then I'm looping through the vector and checking the collisions.
I've got 3 images to illustrate my problem.

This shows the layout, the red block is moveable, basically I'm going to be heading in an up-left direction. Holding the W and A keys.

This shows that the blocks collide correctly at this point, I am still holding W and A at this point.

I am continuing to hold W and A but the red block no longer heads in that direction. It gets stuck here. The problem, i think, is that the 2 green blocks are arguing with repositioning the red block based on the intersection.
How do I deal with this? Is there any example code I can look at to help me with this problem?

Find content
Not Telling