discomfitor pushed a commit to branch elementary-1.9.

http://git.enlightenment.org/core/elementary.git/commit/?id=6f8189eb6cfcb381855457f4c42f45b8c3ff3c85

commit 6f8189eb6cfcb381855457f4c42f45b8c3ff3c85
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 812a978..5219bb3 100644
--- a/src/lib/elc_ctxpopup.c
+++ b/src/lib/elc_ctxpopup.c
@@ -406,10 +406,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)
           {
@@ -429,10 +432,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)
           {
@@ -452,9 +458,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)
           {
@@ -473,9 +481,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