ticket:41 and ticket:43 were both due to the fact that the right screen
coordinates weren't being properly offset by the current ortho.
GLfloat x_scale = cur_ortho.width()/((float)viewport_size.x);
GLfloat y_scale = cur_ortho.height()/((float)viewport_size.y);
GLfloat x_left = cur_ortho.left + (left*x_scale);
- GLfloat x_right = right * x_scale;
+ GLfloat x_right = cur_ortho.left + (right * x_scale);
if (top > bottom) {
// woah, someone gave us a rectangle with the origin in the lower left