Using Euler angles to obtain Heading, Pitch, Yaw

Hello all,

I seem to notice some behavior and i don’t understand it. So, i want to get a hold of the concept behind them. Here is what i’m trying:

What i’m doing:
I am obtaining Euler angles from my view matrix. This gives me the camera’s row, pitch and yaw. I always need only the camera’s pitch.

What I observe and cannot understand:
When the yaw = 0 degrees, i see that when i rotate on X axis, only the pitch changes. However, when yaw is some other angle, the pitch changes even when i change heading!
Now, I need the current camera’s pitch alone. So, i assumed that the pitch would remain constant when i change heading. But this is not the case. I’m not able to understand why pitch seems to change even i expect only heading to be changing.

I seem to have some misunderstanding of concepts here. Can anyone please clarify this for me?