discomfitor pushed a commit to branch enlightenment-0.20.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=608650a2b8916b34c6f868c0651211dadbc5d7d0

commit 608650a2b8916b34c6f868c0651211dadbc5d7d0
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Wed May 18 12:32:27 2016 -0400

    fix e_place_zone_region_smart_cleanup()
    
    this function was adding the same client multiple times, failing to cleanup
    windows effectively, and misusing the skiplist functionality of e_place 
functions
    
    fix T3654
---
 src/bin/e_place.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/bin/e_place.c b/src/bin/e_place.c
index 3780c9d..e32210d 100644
--- a/src/bin/e_place.c
+++ b/src/bin/e_place.c
@@ -29,7 +29,7 @@ e_place_zone_region_smart_cleanup(E_Zone *zone)
                   /* Insert the ec if larger than the current ec */
                   if (area >= testarea)
                     {
-                       clients = eina_list_prepend_relative(clients, ec2, ec);
+                       clients = eina_list_prepend_relative_list(clients, ec, 
ll);
                        break;
                     }
                }
@@ -41,10 +41,12 @@ e_place_zone_region_smart_cleanup(E_Zone *zone)
    /* Loop over the clients moving each one using the smart placement */
    EINA_LIST_FREE(clients, ec)
      {
-        int new_x, new_y;
+        int new_x = zone->x, new_y = zone->y;
+        Eina_List *l = eina_list_append(NULL, ec);
 
-        e_place_zone_region_smart(zone, clients, ec->x, ec->y,
+        e_place_zone_region_smart(zone, l, zone->x, zone->y,
                                   ec->w, ec->h, &new_x, &new_y);
+        eina_list_free(l);
         evas_object_move(ec->frame, new_x, new_y);
      }
 }

-- 


Reply via email to