discomfitor pushed a commit to branch master.

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

commit a9495340f660d4fd0b615652a262d261920b8f9a
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Mon Nov 3 14:07:54 2014 -0500

    fix internal window border changing
---
 src/bin/e_client.c |  2 +-
 src/bin/e_comp_x.c | 11 ++++++-----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 55f3ac9..7cc1cc3 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -2303,7 +2303,7 @@ e_client_idler_before(void)
              if (!_e_client_hook_call(E_CLIENT_HOOK_EVAL_POST_FETCH, ec)) 
continue;
              if (!_e_client_hook_call(E_CLIENT_HOOK_EVAL_PRE_FRAME_ASSIGN, 
ec)) continue;
 
-             if ((ec->border.changed) && (!ec->shaded) && (!ec->override) &&
+             if ((ec->border.changed) && (!ec->shaded) && ((!ec->override) || 
ec->internal) &&
                  (!(((ec->maximized & E_MAXIMIZE_TYPE) == 
E_MAXIMIZE_FULLSCREEN))))
                _e_client_frame_update(ec);
              ec->border.changed = 0;
diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index e82599d..714fa88 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -2990,8 +2990,9 @@ _e_comp_x_hook_client_fetch(void *d EINA_UNUSED, E_Client 
*ec)
      }
    if (ec->changes.prop || ec->netwm.fetch.type)
      {
+        unsigned int type = ec->netwm.type;
         e_hints_window_type_get(ec);
-        if (((!ec->lock_border) || (!ec->border.name)) && 
ec->comp_data->reparented)
+        if (((!ec->lock_border) || (!ec->border.name) || (type != 
ec->netwm.type)) && (ec->comp_data->reparented || ec->internal))
           {
              ec->border.changed = 1;
              EC_CHANGED(ec);
@@ -3717,7 +3718,7 @@ _e_comp_x_hook_client_fetch(void *d EINA_UNUSED, E_Client 
*ec)
           }
         if (ec->mwm.borderless != pb)
           {
-             if (ec->comp_data->reparented && ((!ec->lock_border) || 
(!ec->border.name)))
+             if ((ec->internal || ec->comp_data->reparented) && 
((!ec->lock_border) || (!ec->border.name)))
                {
                   ec->border.changed = 1;
                   EC_CHANGED(ec);
@@ -3782,7 +3783,7 @@ _e_comp_x_hook_client_fetch(void *d EINA_UNUSED, E_Client 
*ec)
         /* Some stats might change the border, like modal */
         if (((!ec->lock_border) || (!ec->border.name)) &&
             (!(((ec->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN))) 
&&
-            ec->comp_data->reparented)
+            (ec->internal || ec->comp_data->reparented))
           {
              ec->border.changed = 1;
              EC_CHANGED(ec);
@@ -3824,7 +3825,7 @@ _e_comp_x_hook_client_fetch(void *d EINA_UNUSED, E_Client 
*ec)
         E_Exec_Instance *inst;
 
         if (((!ec->lock_border) || (!ec->border.name)) && 
-            (ec->comp_data->reparented))
+            (ec->internal || ec->comp_data->reparented))
           {
              ec->border.changed = 1;
              EC_CHANGED(ec);
@@ -4013,7 +4014,7 @@ _e_comp_x_hook_client_fetch(void *d EINA_UNUSED, E_Client 
*ec)
      }
    ec->changes.prop = 0;
    if (rem_change) e_remember_update(ec);
-   if (!ec->comp_data->reparented) ec->changes.border = 0;
+   if ((!ec->comp_data->reparented) && (!ec->internal)) ec->changes.border = 0;
    if (ec->changes.icon)
      {
         /* don't create an icon until we need it */

-- 


Reply via email to