discomfitor pushed a commit to branch master.

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

commit 291c1f7cc593b4e9226d2fa076fbda646a525a8a
Author: Mike Blumenkrantz <[email protected]>
Date:   Mon Jul 28 08:31:58 2014 -0400

    break out client border setting into separate function
---
 src/bin/e_client.c | 39 ++++++++++++++++++++++++++-------------
 src/bin/e_client.h |  1 +
 2 files changed, 27 insertions(+), 13 deletions(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 745752d..25b6cd0 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -2112,7 +2112,6 @@ static void
 _e_client_frame_update(E_Client *ec)
 {
    const char *bordername;
-   Eina_Stringshare *pborder;
 
    if (ec->fullscreen || ec->borderless)
      bordername = "borderless";
@@ -2153,18 +2152,7 @@ _e_client_frame_update(E_Client *ec)
      bordername = e_config->theme_default_border_style;
    if (!bordername) bordername = "default";
 
-   if (e_util_strcmp(ec->border.name, bordername))
-     {
-        pborder = ec->border.name;
-        ec->border.name = eina_stringshare_add(bordername);
-        if (e_comp_object_frame_theme_set(ec->frame, bordername))
-          eina_stringshare_del(pborder);
-        else
-          {
-             eina_stringshare_del(ec->border.name);
-             ec->border.name = pborder;
-          }
-     }
+   e_client_border_set(ec, bordername);
 }
 
 ////////////////////////////////////////////////
@@ -3987,6 +3975,31 @@ e_client_pinned_set(E_Client *ec, Eina_Bool set)
 
 ///////////////////////////////////////
 
+EAPI Eina_Bool
+e_client_border_set(E_Client *ec, const char *name)
+{
+   Eina_Stringshare *pborder;
+
+   E_OBJECT_CHECK_RETURN(ec, EINA_FALSE);
+   E_OBJECT_TYPE_CHECK_RETURN(ec, E_CLIENT_TYPE, EINA_FALSE);
+   if (ec->border.changed)
+     CRI("CALLING WHEN border.changed SET!");
+
+   if (!e_util_strcmp(ec->border.name, name)) return EINA_TRUE;
+   pborder = ec->border.name;
+   ec->border.name = eina_stringshare_add(name);
+   if (e_comp_object_frame_theme_set(ec->frame, name))
+     {
+        eina_stringshare_del(pborder);
+        return EINA_TRUE;
+     }
+   eina_stringshare_del(ec->border.name);
+   ec->border.name = pborder;
+   return EINA_FALSE;
+}
+
+///////////////////////////////////////
+
 EAPI void
 e_client_comp_hidden_set(E_Client *ec, Eina_Bool hidden)
 {
diff --git a/src/bin/e_client.h b/src/bin/e_client.h
index a19ccf7..0bbdd95 100644
--- a/src/bin/e_client.h
+++ b/src/bin/e_client.h
@@ -786,6 +786,7 @@ EAPI void e_client_stick(E_Client *ec);
 EAPI void e_client_unstick(E_Client *ec);
 EAPI void e_client_pinned_set(E_Client *ec, Eina_Bool set);
 EAPI void e_client_comp_hidden_set(E_Client *ec, Eina_Bool hidden);
+EAPI Eina_Bool e_client_border_set(E_Client *ec, const char *name);
 EAPI void e_client_act_move_keyboard(E_Client *ec);
 EAPI void e_client_act_resize_keyboard(E_Client *ec);
 EAPI void e_client_act_move_begin(E_Client *ec, E_Binding_Event_Mouse_Button 
*ev);

-- 


Reply via email to