^ is bitwise-XOR, so it is more like if(This->navpane.show != show_navpane), which looks to be what he intended.
Ah, yes 'tis. Perhaps it's a deficiency of my brain, but when reading bit-twiddling code, I remember the bitwise operators, but when reading logical code, I tend to stick to the boolean operators more. David, AJ will probably override me and say it's not necessary, but to my eyes != looks clearer.
Thanks, --Juan