   glReadPixels from front buffer to back buffer not working
  Before I begin, I would like to say that this is NOT asking for a homework solution. We were given skeleton code that is supposed to work and we are supposed to add more functionality to it, and it works on my computer but not on my girlfriend's computer. I am asking for help fixing the broken given skeleton code.The assignment is to add functionality to a drawing program. A default brush is given to us. The issue is that brush strokes can be drawn and appear but when the mouse is released they disappear. The way drawing appears to be implemented (in the skeleton code) is when the user clicks the mouse, drawing calls go to the front buffer so they are seen immediately. When the mouse is released (ie, the brush stroke ends) the front buffer contents are copied to the back buffer. That is:...// when an event happens:switch (eventToDo) {case LEFT_MOUSE_DOWN:m_pDoc->m_pCurrentBrush->BrushBegin( source, target );break;case LEFT_MOUSE_DRAG:m_pDoc->m_pCurrentBrush->BrushMove( source, target );break;case LEFT_MOUSE_UP:m_pDoc->m_pCurrentBrush->BrushEnd( source, target );SaveCurrentContent();RestoreContent();break;...void PaintView::SaveCurrentContent(){// Tell openGL to read from the front buffer when capturing// out paint strokesglReadBuffer(GL_FRONT);glPixelStorei( GL_PACK_ALIGNMENT, 1 );glPixelStorei( GL_PACK_ROW_LENGTH, m_pDoc->m_nPaintWidth );glReadPixels( 0,  m_nWindowHeight - m_nDrawHeight,  m_nDrawWidth,  m_nDrawHeight,  GL_RGB,  GL_UNSIGNED_BYTE,  m_pPaintBitstart );}void PaintView::RestoreContent(){glDrawBuffer(GL_BACK);glClear( GL_COLOR_BUFFER_BIT );glRasterPos2i( 0, m_nWindowHeight - m_nDrawHeight );glPixelStorei( GL_UNPACK_ALIGNMENT, 1 );glPixelStorei( GL_UNPACK_ROW_LENGTH, m_pDoc->m_nPaintWidth );glDrawPixels( m_nDrawWidth,  m_nDrawHeight,  GL_RGB,  GL_UNSIGNED_BYTE,  m_pPaintBitstart);}It would appear that either glReadPixels or glDrawPixels isn't working (remember, it does work on my computer). Any idea what might be causing this? If not, are there any alternative approaches? I don't want to modify the skeleton code too much if possible.   