huchi pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=23ee76e57250bfe694ba3630bcceedbd3ce7c6f4

commit 23ee76e57250bfe694ba3630bcceedbd3ce7c6f4
Author: Wonguk Jeong <[email protected]>
Date:   Mon Aug 18 17:56:58 2014 +0200

    media: raise media control above selection event obj
    
    Fixes T1454
---
 src/bin/media.c  | 8 ++++++++
 src/bin/media.h  | 1 +
 src/bin/termio.c | 7 +++++++
 3 files changed, 16 insertions(+)

diff --git a/src/bin/media.c b/src/bin/media.c
index 42d0e73..b5339b7 100644
--- a/src/bin/media.c
+++ b/src/bin/media.c
@@ -1347,3 +1347,11 @@ media_src_type_get(const char *src)
    else if (_is_fmt(src, extn_mov))   type = TYPE_MOV;
    return type;
 }
+
+Evas_Object *
+media_control_get(Evas_Object *obj)
+{
+   Media *sd = evas_object_smart_data_get(obj);
+   if (!sd) return NULL;
+   return sd->o_ctrl;
+}
diff --git a/src/bin/media.h b/src/bin/media.h
index deb4f23..e1de785 100644
--- a/src/bin/media.h
+++ b/src/bin/media.h
@@ -31,5 +31,6 @@ void media_volume_set(Evas_Object *obj, double vol);
 void media_stop(Evas_Object *obj);
 const char *media_get(const Evas_Object *obj);
 int media_src_type_get(const char *src);
+Evas_Object *media_control_get(Evas_Object *obj);
 
 #endif
diff --git a/src/bin/termio.c b/src/bin/termio.c
index edddb68..f222c53 100644
--- a/src/bin/termio.c
+++ b/src/bin/termio.c
@@ -1268,6 +1268,7 @@ _block_media_activate(Evas_Object *obj, Termblock *blk)
    Termio *sd = evas_object_smart_data_get(obj);
    int type = 0;
    int media = MEDIA_STRETCH;
+   Evas_Object *mctrl;
 
    EINA_SAFETY_ON_NULL_RETURN(sd);
    if (blk->scale_stretch) media = MEDIA_STRETCH;
@@ -1283,6 +1284,12 @@ _block_media_activate(Evas_Object *obj, Termblock *blk)
      (blk->obj, EVAS_CALLBACK_DEL, _smart_media_del, blk);
    blk->type = type;
    evas_object_smart_member_add(blk->obj, obj);
+   mctrl = media_control_get(blk->obj);
+   if (mctrl)
+     {
+        evas_object_smart_member_add(mctrl, obj);
+        evas_object_stack_above(mctrl, sd->event);
+     }
    evas_object_stack_above(blk->obj, sd->grid.obj);
    evas_object_show(blk->obj);
    evas_object_data_set(blk->obj, "blk", blk);

-- 


Reply via email to