OpenGL Rotation

Hello,

I m trying to rotate an object in openGL.
When i move the object by 180 degrees in x direction it flip in Z direction and when I move the object in Z direction by 180 degrees in flips in X direction.

The mouse move event code is as follows ::

void OglWidget::mouseMoveEvent(QMouseEvent *event)
{
GLfloat dx = GLfloat(event->x() - m_lastPos.x()) ;/// width();
GLfloat dy = GLfloat(event->y() - m_lastPos.y()) ;/// height();

if (event->buttons() & Qt::LeftButton)
{
setXRotation(m_modelRotation.x + 8dy);
setZRotation(m_modelRotation.z + 8
dx);

this->setPropertyValue(1,m_modelRotation);

}

m_lastPos = event->pos();
}

the drawing is as follows

glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
m_center[0] = (m_minX+m_maxX)/2.0f;
m_center[1] = (m_minY+m_maxY)/2.0f;
m_center[2] = (m_minZ+m_maxZ)/2.0f;
m_radius = static_cast<float>(std::sqrt((m_maxX-m_center[0])(m_maxX-m_center[0])
+(m_maxY-m_center[1])
(m_maxY-m_center[1])+(m_maxZ-m_center[2])(m_maxZ-m_center[2])));
m_fDistance = m_radius/0.57735f; //where 0.57735f is tan(30 degrees)
m_dNear = m_fDistance - 3
m_radius;
m_dFar = m_fDistance + 3*m_radius;

glLoadIdentity();
glPushMatrix();

// glLoadIdentity();
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-m_zoomFactor2m_radius, +m_zoomFactor2m_radius, -m_zoomFactor2m_radius, +m_zoomFactor2m_radius, m_dNear, m_dFar);

glMatrixMode(GL_MODELVIEW);
glRotatef(m_modelRotation.x/16.0, 1.0, 0.0, 0.0);
glRotatef(m_modelRotation.y/16.0, 0.0, 1.0, 0.0);   
glRotatef(m_modelRotation.z/16.0, 0.0, 0.0, 1.0);
glScalef(m_modelScale.x,m_modelScale.y,m_modelScale.z);
switch(m_shapeMode)
{
case eShapePointCloud:
    drawPoints();
    break;
case eShapeSolid:
    drawQuads();
    break;
default:
    qDebug()&lt;&lt;"No shape is specified, so use the points shape.";
    drawPoints();
    break;
}
glPopMatrix();