discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=7efa7b3f2795256d9e1fd87ab953e890960e12ca

commit 7efa7b3f2795256d9e1fd87ab953e890960e12ca
Author: Mike Blumenkrantz <zm...@samsung.com>
Date:   Mon Feb 3 13:55:38 2014 -0500

    don't overwrite existing coords on creation of override client
    
    overrides come with their own placement for zones
---
 src/bin/e_client.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index c0462d1..8a0b18d 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -1240,7 +1240,7 @@ _e_client_zone_update(E_Client *ec)
    E_Zone *zone;
 
    /* still within old zone - leave it there */
-   if (E_INTERSECTS(ec->x, ec->y, ec->w, ec->h,
+   if (ec->zone && E_INTERSECTS(ec->x, ec->y, ec->w, ec->h,
                     ec->zone->x, ec->zone->y, ec->zone->w, ec->zone->h))
      return;
    /* find a new zone */
@@ -2103,7 +2103,7 @@ e_client_idler_before(void)
                     _e_client_move_lost_window_to_center(ec);
                }
              else
-               e_client_zone_set(ec, e_comp_zone_xy_get(ec->comp, ec->x, 
ec->y));
+               _e_client_zone_update(ec);
           }
 
 
@@ -2225,7 +2225,10 @@ e_client_new(E_Comp *c, E_Pixmap *cp, int first_map, int 
internal)
    ec->comp->new_clients++;
 
    if (!_e_client_hook_call(E_CLIENT_HOOK_NEW_CLIENT, ec)) return NULL;
-   e_client_desk_set(ec, e_desk_current_get(e_zone_current_get(c)));
+   if (ec->override)
+     _e_client_zone_update(ec);
+   else
+     e_client_desk_set(ec, e_desk_current_get(e_zone_current_get(c)));
 
    ec->icccm.title = NULL;
    ec->icccm.name = NULL;
@@ -2785,7 +2788,7 @@ e_client_zone_set(E_Client *ec, E_Zone *zone)
 
    ec->zone = zone;
 
-   if (ec->desk->zone != ec->zone)
+   if ((!ec->desk) || (ec->desk->zone != ec->zone))
      e_client_desk_set(ec, e_desk_current_get(ec->zone));
 
    ev = E_NEW(E_Event_Client_Zone_Set, 1);

-- 


Reply via email to