X axis rotation frustration..

Rather than adding rotation, I would just set rotation directly to be itself + the mouse value * scalar value. In local mode, what may look like pitch to the object from its point of view is roll in world space.

This will also zero out roll every time to ensure that roll is never anything but 0.