discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=595e0ca8280192f51554efafb5a54f476406e142

commit 595e0ca8280192f51554efafb5a54f476406e142
Author: zmike <[email protected]>
Date:   Mon Apr 28 11:00:54 2014 -0400

    ctxpopup should not blindly show arrows when they are not wanted by the 
theme
    
    @fix
---
 src/lib/elc_ctxpopup.c | 34 ++++++++++++++++++++++------------
 1 file changed, 22 insertions(+), 12 deletions(-)

diff --git a/src/lib/elc_ctxpopup.c b/src/lib/elc_ctxpopup.c
index 9eb87bd..b118bc1 100644
--- a/src/lib/elc_ctxpopup.c
+++ b/src/lib/elc_ctxpopup.c
@@ -392,10 +392,13 @@ _arrow_update(Evas_Object *obj,
      {
       case ELM_CTXPOPUP_DIRECTION_RIGHT:
         edje_object_signal_emit(sd->arrow, "elm,state,left", "elm");
-        edje_object_part_swallow
-           (wd->resize_obj,
+        if (!edje_object_part_swallow(wd->resize_obj,
             (elm_widget_mirrored_get(obj) ? "elm.swallow.arrow_right" :
-             "elm.swallow.arrow_left"), sd->arrow);
+             "elm.swallow.arrow_left"), sd->arrow))
+          {
+             evas_object_hide(sd->arrow);
+             break;
+          }
 
         if (base_size.h > 0)
           {
@@ -415,10 +418,13 @@ _arrow_update(Evas_Object *obj,
 
       case ELM_CTXPOPUP_DIRECTION_LEFT:
         edje_object_signal_emit(sd->arrow, "elm,state,right", "elm");
-        edje_object_part_swallow
-           (wd->resize_obj,
+        if (!edje_object_part_swallow(wd->resize_obj,
             (elm_widget_mirrored_get(obj) ? "elm.swallow.arrow_left" :
-             "elm.swallow.arrow_right"), sd->arrow);
+             "elm.swallow.arrow_right"), sd->arrow))
+          {
+             evas_object_hide(sd->arrow);
+             break;
+          }
 
         if (base_size.h > 0)
           {
@@ -438,9 +444,11 @@ _arrow_update(Evas_Object *obj,
 
       case ELM_CTXPOPUP_DIRECTION_DOWN:
         edje_object_signal_emit(sd->arrow, "elm,state,top", "elm");
-        edje_object_part_swallow
-          (wd->resize_obj, "elm.swallow.arrow_up",
-          sd->arrow);
+        if (!edje_object_part_swallow(wd->resize_obj, "elm.swallow.arrow_up", 
sd->arrow))
+          {
+             evas_object_hide(sd->arrow);
+             break;
+          }
 
         if (base_size.w > 0)
           {
@@ -459,9 +467,11 @@ _arrow_update(Evas_Object *obj,
 
       case ELM_CTXPOPUP_DIRECTION_UP:
         edje_object_signal_emit(sd->arrow, "elm,state,bottom", "elm");
-        edje_object_part_swallow
-          (wd->resize_obj, "elm.swallow.arrow_down",
-          sd->arrow);
+        if (!edje_object_part_swallow(wd->resize_obj, 
"elm.swallow.arrow_down", sd->arrow))
+          {
+             evas_object_hide(sd->arrow);
+             break;
+          }
 
         if (base_size.w > 0)
           {

-- 


Reply via email to