[gimp/soc-2011-seamless-clone2] Bug 656522 - Scaled Image Rounds Up To Nearest Pixel



commit ec1c7bc94273ee372ab35faafcef3aaae717331d
Author: Téo Mazars <teo mazars ensimag fr>
Date:   Sun Feb 24 16:48:33 2013 +0100

    Bug 656522 - Scaled Image Rounds Up To Nearest Pixel
    
    Prevent gimp_coordinates_callback () to be called recursively
    when x and y are chained.
    
    One call puts all values in a consistent state, a recusive call can
    cause side effects (calculations with rounded values)

 libgimpwidgets/gimpwidgets.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
---
diff --git a/libgimpwidgets/gimpwidgets.c b/libgimpwidgets/gimpwidgets.c
index 72b2345..35b6bee 100644
--- a/libgimpwidgets/gimpwidgets.c
+++ b/libgimpwidgets/gimpwidgets.c
@@ -589,6 +589,10 @@ gimp_coordinates_callback (GtkWidget           *widget,
         {
           if ((data->orig_x != 0) && (data->orig_y != 0))
             {
+              g_signal_handlers_block_by_func (widget,
+                                               gimp_coordinates_callback,
+                                               data);
+
               if (ROUND (new_x) != ROUND (data->last_x))
                 {
                   data->last_x = new_x;
@@ -609,6 +613,10 @@ gimp_coordinates_callback (GtkWidget           *widget,
                   data->last_x
                     = gimp_size_entry_get_refval (GIMP_SIZE_ENTRY (widget), 0);
                 }
+
+              g_signal_handlers_unblock_by_func (widget,
+                                                 gimp_coordinates_callback,
+                                                 data);
             }
         }
       else


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]