diff --git a/ChangeLog b/ChangeLog index 45da9984f6..9f9d66ab30 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-01-04 Sven Neumann + + * app/tools/gimprotatetool.c (rotate_angle_changed): also update + trans_info[REAL_ANGLE]. Fixes bug #507167. + 2008-01-03 Bill Skaggs committing patch by Simon Budig to give an indication diff --git a/app/tools/gimprotatetool.c b/app/tools/gimprotatetool.c index d6d2eb525d..501f0f0c87 100644 --- a/app/tools/gimprotatetool.c +++ b/app/tools/gimprotatetool.c @@ -283,21 +283,19 @@ gimp_rotate_tool_motion (GimpTransformTool *tr_tool, /* limit the angle to between -180 and 180 degrees */ if (tr_tool->trans_info[REAL_ANGLE] < - G_PI) { - tr_tool->trans_info[REAL_ANGLE] = - 2.0 * G_PI + tr_tool->trans_info[REAL_ANGLE]; + tr_tool->trans_info[REAL_ANGLE] += 2.0 * G_PI; } else if (tr_tool->trans_info[REAL_ANGLE] > G_PI) { - tr_tool->trans_info[REAL_ANGLE] = - tr_tool->trans_info[REAL_ANGLE] - 2.0 * G_PI; + tr_tool->trans_info[REAL_ANGLE] -= 2.0 * G_PI; } /* constrain the angle to 15-degree multiples if ctrl is held down */ if (options->constrain) { tr_tool->trans_info[ANGLE] = - FIFTEEN_DEG * (int) ((tr_tool->trans_info[REAL_ANGLE] + - FIFTEEN_DEG / 2.0) / FIFTEEN_DEG); + FIFTEEN_DEG * (gint) ((tr_tool->trans_info[REAL_ANGLE] + + FIFTEEN_DEG / 2.0) / FIFTEEN_DEG); } else { @@ -331,7 +329,7 @@ rotate_angle_changed (GtkAdjustment *adj, { gimp_draw_tool_pause (GIMP_DRAW_TOOL (tr_tool)); - tr_tool->trans_info[ANGLE] = value; + tr_tool->trans_info[REAL_ANGLE] = tr_tool->trans_info[ANGLE] = value; gimp_transform_tool_recalc (tr_tool, GIMP_TOOL (tr_tool)->display);