  }
  
  /**
-@@ -887,11 +871,11 @@ clutter_behaviour_ellipse_set_angle_endx (ClutterBehaviourEllipse *self,
-                                           ClutterFixed             angle_end)
- {
-   ClutterBehaviourEllipsePrivate *priv;
--  ClutterAngle new_angle;
-+  float new_angle;
+@@ -891,7 +875,7 @@ clutter_behaviour_ellipse_set_angle_endx (ClutterBehaviourEllipse *self,
  
    g_return_if_fail (CLUTTER_IS_BEHAVIOUR_ELLIPSE (self));
  

 }
 
 /**
@@ -979,11 +963,11 @@ clutter_behaviour_ellipse_set_angle_tiltx (ClutterBehaviourEllipse *self,
                                            ClutterFixed             angle_tilt)
 {
   ClutterBehaviourEllipsePrivate *priv;
-  ClutterAngle new_angle;
+  float new_angle;
 
   g_return_if_fail (CLUTTER_IS_BEHAVIOUR_ELLIPSE (self));
 

-  rounds = (a + 256) / 1024;
-  a1 = rounds * 1024;
-  a2 = a - a1;
+  rounds = a / 360;
+  if (a < 0)
+    rounds--;
 
-  return a2;
+  return a - 360 * rounds;
 }
 
 static void
@@ -218,11 +214,11 @@ clutter_behaviour_ellipse_alpha_notify (ClutterBehaviour *behave,
 
   if (priv->direction == CLUTTER_ROTATE_CW && start >= end)
