From http://www.jwz.org/xscreensaver/xscreensaver-5.18.tar.gz
[xscreensaver] / hacks / glx / sballs.c
index 76b60ec03fe996e369ead30e9f4aa9884e263923..833b0001ed7fade4429f3c154c2fbde46413e98a 100644 (file)
@@ -580,7 +580,10 @@ static void Draw(ModeInfo * mi)
     glEnd();
     mi->polygon_count++;
 
+    /* Do it twice because we don't track the device's orientation. */
+    glRotatef( current_device_rotation(), 0, 0, 1);
     gltrackball_rotate (sb->trackball);
+    glRotatef(-current_device_rotation(), 0, 0, 1);
 
     /* rotate the balls */
     glRotatef(sb->rotm[0], 1.0f, 0.0f, 0.0f);