yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=0b58cb80c5ee31fa69ff7b688174080afe8afce0

commit 0b58cb80c5ee31fa69ff7b688174080afe8afce0
Author: Yakov Goldberg <yako...@samsung.com>
Date:   Mon Apr 13 12:11:51 2015 +0300

    Fix DnD border so it won't go outside window
    
    If a widget is selected, in some cases
    its border was going out of parent window.
---
 src/bin/egui_gui/editor.c | 232 +++++++++++++++++++++++++++-------------------
 1 file changed, 137 insertions(+), 95 deletions(-)

diff --git a/src/bin/egui_gui/editor.c b/src/bin/egui_gui/editor.c
index 9ca8726..64d68b1 100644
--- a/src/bin/egui_gui/editor.c
+++ b/src/bin/egui_gui/editor.c
@@ -207,14 +207,14 @@ enum
 
 #define STR(par) #par
 
-#define LINE(id, color, x, y, l, w, visibility) \
+#define LINE(base_obj, id, color, x, y, l, w, visibility) \
    ({\
        Eo *line = NULL;\
-       eo_do(g->main_win->main_win, line = eo_key_data_get(STR(id"_"color)));\
+       eo_do(base_obj, line = eo_key_data_get(STR(id"_"color)));\
        if (!line)\
           {\
-             line = eo_add(EVAS_RECTANGLE_CLASS, g->main_win->main_win);\
-             eo_do(g->main_win->main_win, eo_key_data_set(STR(id"_"color), 
line, NULL));\
+             line = eo_add(EVAS_RECTANGLE_CLASS, base_obj);\
+             eo_do(base_obj, eo_key_data_set(STR(id"_"color), line, NULL));\
              switch (color) \
              {\
                 case BORDER_SELECTION:\
@@ -228,7 +228,10 @@ enum
                    break;\
                   }\
              }\
-             eo_do(evas_object_smart_parent_get(g->main_win->main_box), 
evas_obj_smart_member_add(line)); \
+             if (base_obj == canvas_get())\
+               {\
+                 eo_do(evas_object_smart_parent_get(g->main_win->main_box), 
evas_obj_smart_member_add(line)); \
+               }\
           }\
        eo_do(line, efl_gfx_visible_set(visibility));\
        eo_do(line, efl_gfx_position_set(x, y));\
@@ -236,20 +239,23 @@ enum
        eo_do(line, efl_gfx_stack_raise());\
    })
 
-#define MARKER(id, x, y, visibility) \
+#define MARKER(base_obj, id, x, y, visibility) \
    ({ \
     Eo *_m = NULL;\
-    eo_do(g->main_win->main_win, _m = eo_key_data_get(STR(id)));\
+    eo_do(base_obj, _m = eo_key_data_get(STR(id)));\
     if (!_m)\
         {\
-           _m = eo_add(EVAS_RECTANGLE_CLASS, g->main_win->main_win);\
-           eo_do(g->main_win->main_win, eo_key_data_set(STR(id), _m, NULL));\
+           _m = eo_add(EVAS_RECTANGLE_CLASS, base_obj);\
+           eo_do(base_obj, eo_key_data_set(STR(id), _m, NULL));\
            eo_do(_m, efl_gfx_color_set(0, 255, 0, 255));\
            eo_do(_m, efl_gfx_size_set(7, 7));\
            eo_do(_m, eo_event_callback_add(EVAS_OBJECT_EVENT_MOUSE_DOWN, 
_marker_mouse_down, (void *) (intptr_t) id)); \
            eo_do(_m, eo_event_callback_add(EVAS_OBJECT_EVENT_MOUSE_IN, 
_marker_mouse_in, (void *) (intptr_t) id)); \
            eo_do(_m, eo_event_callback_add(EVAS_OBJECT_EVENT_MOUSE_OUT, 
_marker_mouse_out, (void *) (intptr_t) id)); \
-           eo_do(evas_object_smart_parent_get(g->main_win->main_box), 
evas_obj_smart_member_add(_m)); \
+             if (base_obj == canvas_get())\
+               {\
+                 eo_do(evas_object_smart_parent_get(base_obj), 
evas_obj_smart_member_add(_m)); \
+               }\
         }\
       eo_do(_m, efl_gfx_position_set(x, y)); \
       eo_do(_m, efl_gfx_stack_raise());\
@@ -263,21 +269,24 @@ _wdg_border_draw(const Gui_Widget *wdg, Eina_Bool 
visibility, int border_type_co
 {
    const Gui_Session *session = 
gui_context_editor_session_get(_active_context_get());
    Eo *obj = NULL;
-   Eo *win_wdg_eo = NULL;
+   Eo *base_obj = canvas_get();
    if (wdg)
      {
         if (IS_MAIN(wdg))
           {
              Main_Wdg_Info *wi = wdg_data_get(wdg, MAIN_WDG_INFO);
-             if (wi) obj = main_wdg_info_frame_get(wi);
+             if (wi)
+               {
+                  obj = main_wdg_info_frame_get(wi);
+                  base_obj = canvas_get();
+               }
           }
         else
           {
              const Gui_Widget *win_wdg = wdg_main_wdg_get(wdg);
-             Main_Wdg_Info *wi = wdg_data_get(win_wdg, MAIN_WDG_INFO);
-             if (wi) win_wdg_eo = main_wdg_info_frame_get(wi);
+
+             base_obj = session_eo_get(session, win_wdg);
              obj = session_eo_get(session, wdg);
-             win_wdg_eo = elm_object_content_get(win_wdg_eo);
           }
      }
 
@@ -291,11 +300,6 @@ _wdg_border_draw(const Gui_Widget *wdg, Eina_Bool 
visibility, int border_type_co
    /* This is made, to have opportunity to pass NULL and hide border.*/
    if (obj)
      {
-        Evas_Coord bx = 0, by = 0, bw = 0, bh = 0;
-        if (win_wdg_eo) eo_do(win_wdg_eo,
-              efl_gfx_position_get(&bx, &by),
-              efl_gfx_size_get(&bw, &bh));
-
         eo_do(obj, efl_gfx_position_get(&ox, &oy));
 
         /* In case the objects has been shifted outside of the window
@@ -307,9 +311,6 @@ _wdg_border_draw(const Gui_Widget *wdg, Eina_Bool 
visibility, int border_type_co
         if (ow < minw) ow = minw;
         if (oh < minh) oh = minh;
 
-        ox += bx;
-        oy += by;
-
         lw = ow + 2;
         lh = oh + 2;
         /* Redraw border only if coords or object were changed. */
@@ -333,27 +334,28 @@ _wdg_border_draw(const Gui_Widget *wdg, Eina_Bool 
visibility, int border_type_co
      {
       case BORDER_SELECTION:
            {
-              LINE(BORDER_TOP, BORDER_SELECTION, ox - 1, oy - 1, lw, 1, 
visibility);
-              LINE(BORDER_BOTTOM, BORDER_SELECTION, ox - 1, oy + oh + 1, lw, 
1, visibility);
-              LINE(BORDER_RIGHT, BORDER_SELECTION, ox + ow + 1, oy - 1, 1, lh, 
visibility);
-              LINE(BORDER_LEFT, BORDER_SELECTION, ox - 1, oy - 1, 1, lh, 
visibility);
-
-              MARKER(BORDER_MARKER_TOP_LEFT, ox - 1 - hs - 1, oy - 1 - hs - 1, 
visibility);
-              MARKER(BORDER_MARKER_TOP, ox + ow / 2 - hs / 2, oy - 1 - hs - 1, 
visibility);
-              MARKER(BORDER_MARKER_TOP_RIGHT, ox + ow + 1, oy - 1 - hs - 1, 
visibility);
-              MARKER(BORDER_MARKER_RIGHT, ox + ow + 1, oy + oh / 2 - hs / 2, 
visibility);
-              MARKER(BORDER_MARKER_BOTTOM_RIGHT, ox + ow + 1, oy + oh + 1, 
visibility);
-              MARKER(BORDER_MARKER_BOTTOM, ox + ow / 2 - hs / 2, oy + oh + 1, 
visibility);
-              MARKER(BORDER_MARKER_BOTTOM_LEFT, ox - 1 - hs - 1, oy + oh + 1, 
visibility);
-              MARKER(BORDER_MARKER_LEFT, ox - 1 - hs - 1 , oy + oh / 2 - hs / 
2, visibility);
+              LINE(base_obj, BORDER_TOP, BORDER_SELECTION, ox - 1, oy - 1, lw, 
1, visibility);
+              LINE(base_obj, BORDER_BOTTOM, BORDER_SELECTION, ox - 1, oy + oh 
+ 1, lw, 1, visibility);
+              LINE(base_obj, BORDER_RIGHT, BORDER_SELECTION, ox + ow + 1, oy - 
1, 1, lh, visibility);
+              LINE(base_obj, BORDER_LEFT, BORDER_SELECTION, ox - 1, oy - 1, 1, 
lh, visibility);
+
+              MARKER(base_obj, BORDER_MARKER_TOP_LEFT, ox - 1 - hs - 1, oy - 1 
- hs - 1, visibility);
+              MARKER(base_obj, BORDER_MARKER_TOP, ox + ow / 2 - hs / 2, oy - 1 
- hs - 1, visibility);
+              MARKER(base_obj, BORDER_MARKER_TOP_RIGHT, ox + ow + 1, oy - 1 - 
hs - 1, visibility);
+              MARKER(base_obj, BORDER_MARKER_RIGHT, ox + ow + 1, oy + oh / 2 - 
hs / 2, visibility);
+              MARKER(base_obj, BORDER_MARKER_BOTTOM_RIGHT, ox + ow + 1, oy + 
oh + 1, visibility);
+              MARKER(base_obj, BORDER_MARKER_BOTTOM, ox + ow / 2 - hs / 2, oy 
+ oh + 1, visibility);
+              MARKER(base_obj, BORDER_MARKER_BOTTOM_LEFT, ox - 1 - hs - 1, oy 
+ oh + 1, visibility);
+              MARKER(base_obj, BORDER_MARKER_LEFT, ox - 1 - hs - 1 , oy + oh / 
2 - hs / 2, visibility);
+
               break;
            }
       case BORDER_DROP_TARGET:
            {
-              LINE(BORDER_TOP, BORDER_DROP_TARGET, ox - 1, oy - 1, lw, 1, 
visibility);
-              LINE(BORDER_BOTTOM, BORDER_DROP_TARGET, ox - 1, oy + oh + 1, lw, 
1, visibility);
-              LINE(BORDER_RIGHT, BORDER_DROP_TARGET, ox + ow + 1, oy - 1, 1, 
lh, visibility);
-              LINE(BORDER_LEFT, BORDER_DROP_TARGET, ox - 1, oy - 1, 1, lh, 
visibility);
+              LINE(base_obj, BORDER_TOP, BORDER_DROP_TARGET, ox - 1, oy - 1, 
lw, 1, visibility);
+              LINE(base_obj, BORDER_BOTTOM, BORDER_DROP_TARGET, ox - 1, oy + 
oh + 1, lw, 1, visibility);
+              LINE(base_obj, BORDER_RIGHT, BORDER_DROP_TARGET, ox + ow + 1, oy 
- 1, 1, lh, visibility);
+              LINE(base_obj, BORDER_LEFT, BORDER_DROP_TARGET, ox - 1, oy - 1, 
1, lh, visibility);
               break;
            }
      }
@@ -543,6 +545,16 @@ _drag_start_cb(const Gui_Widget *wdg, const Eo *_wdg_eo);
 static Ecore_Timer *_drag_timer_start = NULL;
 static Eina_Bool drag_started = EINA_FALSE;
 
+/* Struct to save old properties when resizing widgets by dragging marker. */
+typedef struct
+{
+   void *data;
+   Gui_Widget_Property *prop_size;
+   Gui_Widget_Property *prop_pos;
+} _Marker_Move_Data;
+
+_Marker_Move_Data _mmd;
+
 static Eina_Bool
 _drag_widget_start(void *data)
 {
@@ -564,6 +576,13 @@ _mouse_down_main(void *data EINA_UNUSED, Eo *obj, const 
Eo_Event_Description *de
    drag_started = EINA_FALSE;
    Evas_Event_Mouse_Down *ev = event_info;
    Gui_Widget *wdg_main = data, *drag_candidate = NULL, *wdg;
+
+   /* Catch mouse down on resize marker. */
+   if (_mmd.data != BORDER_OUT)
+     {
+        return EO_CALLBACK_CONTINUE;
+     }
+
    const Gui_Session *session = 
gui_context_editor_session_get(wdg_context_get(wdg_main));
    drag_candidate = wdg_main;
    Evas_Coord x, y;
@@ -593,6 +612,12 @@ _mouse_down_main(void *data EINA_UNUSED, Eo *obj, const 
Eo_Event_Description *de
 static Eina_Bool
 _mouse_up_main(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
 {
+   /* Catch mouse up on resize marker. */
+   if (_mmd.data != BORDER_OUT)
+     {
+        return EO_CALLBACK_CONTINUE;
+     }
+
    if (_drag_timer_start)
      {
         ecore_timer_del(_drag_timer_start);
@@ -636,10 +661,21 @@ _marker_mouse_move(void *data, Eo *marker EINA_UNUSED, 
const Eo_Event_Descriptio
    dx = ev->cur.canvas.x - ev->prev.canvas.x;
    dy = ev->cur.canvas.y - ev->prev.canvas.y;
 
-   /* in base object cursor description is save.
-    * base object is win's Eo for widget,
+   /* Cursor description is saved in base object.
+    * base object is win's Eo for widget EINA_UNUSED,
     * and canvas(main window) for frame. */
-   const Eo *base_obj = g->main_win->main_win;
+
+   const Eo *base_obj;
+   if (IS_MAIN(wdg))
+     {
+        base_obj = canvas_get();
+     }
+   else
+     {
+        const Gui_Widget *win_wdg = wdg_main_wdg_get(wdg);
+        base_obj = session_eo_get(session, win_wdg);
+     }
+
    if (IS_MAIN(wdg))
      {
         Main_Wdg_Info *wi = wdg_data_get(wdg, MAIN_WDG_INFO);
@@ -654,27 +690,15 @@ _marker_mouse_move(void *data, Eo *marker EINA_UNUSED, 
const Eo_Event_Descriptio
         eo_do(weo, dh = (intptr_t) eo_key_data_get("dh"));
         minw += dw;
         minh += dh;
-        canvas_ptr_x = ev->prev.canvas.x;
-        canvas_ptr_y = ev->prev.canvas.y;
      }
    else
      {
         /* Eo object of widget. */
         weo = session_eo_get(session, wdg);
         eo_do(weo, evas_obj_size_hint_min_get(&minw, &minh));
-
-        /*Get main wdg of current wdg. */
-        const Gui_Widget *main_wdg = wdg_main_wdg_get(wdg);
-        Eo *main_wdg_o = session_eo_get(session, main_wdg);
-        /* Get inlined image of current main wdg*/
-        Eo *inwin_img = elm_win_inlined_image_object_get(main_wdg_o);
-        Evas_Coord img_x, img_y;
-        /* Get coords od inlined_img inside global Evas. */
-        eo_do(inwin_img, efl_gfx_position_get(&img_x, &img_y));
-        /* Calculate pointer coords inside canvas. */
-        canvas_ptr_x = ev->prev.canvas.x - img_x;
-        canvas_ptr_y = ev->prev.canvas.y - img_y;
      }
+   canvas_ptr_x = ev->prev.canvas.x;
+   canvas_ptr_y = ev->prev.canvas.y;
 
    eo_do(base_obj, cur_logo = eo_key_data_get("cursor"));
    if (cur_logo)
@@ -789,27 +813,16 @@ _marker_mouse_move(void *data, Eo *marker EINA_UNUSED, 
const Eo_Event_Descriptio
    return EO_CALLBACK_CONTINUE;
 }
 
-/* Struct to save old properties when resizing widgets by dragging marker. */
-typedef struct
-{
-   void *data;
-   Gui_Widget_Property *prop_size;
-   Gui_Widget_Property *prop_pos;
-} _Marker_Move_Data;
-
 static Eina_Bool
 _marker_mouse_down(void *data, Eo *obj, const Eo_Event_Description *desc 
EINA_UNUSED, void *event_info EINA_UNUSED)
 {
    const Gui_Widget *wdg = _editor_wdg_selected_get();
-   _Marker_Move_Data *_mmd = calloc(1, sizeof(_Marker_Move_Data));
-
-   _mmd->data = data;
 
    Gui_Widget_Property *prop;
    prop = wdg_prop_get(wdg, DB_DEF_EFL_GFX_BASE_CLASS, SIZE_SET);
    if (prop)
      {
-        _mmd->prop_size = prop;
+        _mmd.prop_size = prop;
         prop_ref(prop);
         wdg_prop_remove((Gui_Widget *) wdg, prop);
      }
@@ -818,23 +831,22 @@ _marker_mouse_down(void *data, Eo *obj, const 
Eo_Event_Description *desc EINA_UN
         prop = wdg_prop_get(wdg, DB_DEF_EFL_GFX_BASE_CLASS, POSITION_SET);
         if (prop)
           {
-             _mmd->prop_pos = prop;
+             _mmd.prop_pos = prop;
              prop_ref(prop);
              wdg_prop_remove((Gui_Widget *) wdg, prop);
           }
      }
 
    eo_do(obj, eo_event_callback_add(EVAS_OBJECT_EVENT_MOUSE_MOVE, 
_marker_mouse_move, data));
-   eo_do(obj, eo_event_callback_add(EVAS_OBJECT_EVENT_MOUSE_UP, 
_marker_mouse_up, _mmd));
+   eo_do(obj, eo_event_callback_add(EVAS_OBJECT_EVENT_MOUSE_UP, 
_marker_mouse_up, data));
    return EO_CALLBACK_CONTINUE;
 }
 
 static Eina_Bool
-_marker_mouse_up(void *data, Eo *obj, const Eo_Event_Description *desc 
EINA_UNUSED, void *event_info EINA_UNUSED)
+_marker_mouse_up(void *data EINA_UNUSED, Eo *obj, const Eo_Event_Description 
*desc EINA_UNUSED, void *event_info EINA_UNUSED)
 {
-   _Marker_Move_Data *_mmd = data;
-   eo_do(obj, eo_event_callback_del(EVAS_OBJECT_EVENT_MOUSE_MOVE, 
_marker_mouse_move, _mmd->data));
-   eo_do(obj, eo_event_callback_del(EVAS_OBJECT_EVENT_MOUSE_UP, 
_marker_mouse_up, _mmd));
+   eo_do(obj, eo_event_callback_del(EVAS_OBJECT_EVENT_MOUSE_MOVE, 
_marker_mouse_move, data));
+   eo_do(obj, eo_event_callback_del(EVAS_OBJECT_EVENT_MOUSE_UP, 
_marker_mouse_up, data));
 
    const Gui_Widget *wdg = _editor_wdg_selected_get();
 
@@ -843,22 +855,22 @@ _marker_mouse_up(void *data, Eo *obj, const 
Eo_Event_Description *desc EINA_UNUS
    if (!prop)
      {
         /*...put old property back. */
-        if (_mmd->prop_size)
+        if (_mmd.prop_size)
           {
-             wdg_prop_add((Gui_Widget *) wdg, _mmd->prop_size);
+             wdg_prop_add((Gui_Widget *) wdg, _mmd.prop_size);
           }
         goto end;
      }
    else
      {
-        if (_mmd->prop_size &&
-            (INT_GET(prop_value_nth_get(prop, 0)) == 
INT_GET(prop_value_nth_get(_mmd->prop_size, 0))) &&
-            (INT_GET(prop_value_nth_get(prop, 1)) == 
INT_GET(prop_value_nth_get(_mmd->prop_size, 1))))
+        if (_mmd.prop_size &&
+            (INT_GET(prop_value_nth_get(prop, 0)) == 
INT_GET(prop_value_nth_get(_mmd.prop_size, 0))) &&
+            (INT_GET(prop_value_nth_get(prop, 1)) == 
INT_GET(prop_value_nth_get(_mmd.prop_size, 1))))
           {
              goto end;
           }
         Gui_Memento *memento = NULL;
-        memento = gui_memento_new(wdg_eid_get(wdg), MEMENTO_PROPERTY, 
_mmd->prop_size, prop);
+        memento = gui_memento_new(wdg_eid_get(wdg), MEMENTO_PROPERTY, 
_mmd.prop_size, prop);
         gui_context_memento_add(_active_context_get(), memento);
      }
 
@@ -868,46 +880,62 @@ _marker_mouse_up(void *data, Eo *obj, const 
Eo_Event_Description *desc EINA_UNUS
         prop = wdg_prop_get(wdg, DB_DEF_EFL_GFX_BASE_CLASS, POSITION_SET);
         if (!prop)
           {
-             if (_mmd->prop_pos)
+             if (_mmd.prop_pos)
                {
-                  wdg_prop_add((Gui_Widget *) wdg, _mmd->prop_pos);
+                  wdg_prop_add((Gui_Widget *) wdg, _mmd.prop_pos);
                }
              goto end;
           }
         else
           {
-             if (_mmd->prop_pos &&
-                (INT_GET(prop_value_nth_get(prop, 0)) == 
INT_GET(prop_value_nth_get(_mmd->prop_pos, 0))) &&
-                 (INT_GET(prop_value_nth_get(prop, 1)) == 
INT_GET(prop_value_nth_get(_mmd->prop_pos, 1))))
+             if (_mmd.prop_pos &&
+                (INT_GET(prop_value_nth_get(prop, 0)) == 
INT_GET(prop_value_nth_get(_mmd.prop_pos, 0))) &&
+                 (INT_GET(prop_value_nth_get(prop, 1)) == 
INT_GET(prop_value_nth_get(_mmd.prop_pos, 1))))
                {
                   goto end;
                }
              Gui_Memento *memento = NULL;
-             memento = gui_memento_new(wdg_eid_get(wdg), MEMENTO_PROPERTY, 
_mmd->prop_pos, prop);
+             memento = gui_memento_new(wdg_eid_get(wdg), MEMENTO_PROPERTY, 
_mmd.prop_pos, prop);
              gui_memento_append((Gui_Memento *) 
gui_context_current_memento_get(_active_context_get()), memento);
           }
      }
 
 end:
-   if (_mmd->prop_size)
+   if (_mmd.prop_size)
      {
-        prop_unref(_mmd->prop_size);
+        prop_unref(_mmd.prop_size);
+        _mmd.prop_size = NULL;
      }
-   if (_mmd->prop_pos)
+   if (_mmd.prop_pos)
      {
-        prop_unref(_mmd->prop_pos);
+        prop_unref(_mmd.prop_pos);
+        _mmd.prop_pos = NULL;
      }
-   free(_mmd);
    return EO_CALLBACK_CONTINUE;
 }
 
 static Eina_Bool
-_marker_mouse_in(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
+_marker_mouse_in(void *data, Eo *obj EINA_UNUSED, const Eo_Event_Description 
*desc EINA_UNUSED, void *event_info EINA_UNUSED)
 {
+   _mmd.data = data;
+
    Evas_Coord sz = 17, trans_size = 25;
    Evas_Event_Mouse_Down *ev = event_info;
 
-   const Eo *base_obj = g->main_win->main_win;
+   const Gui_Session *session = 
gui_context_editor_session_get(_active_context_get());
+
+   const Gui_Widget *wdg = _editor_wdg_selected_get();
+
+   const Eo *base_obj;
+   if (IS_MAIN(wdg))
+     {
+        base_obj = canvas_get();
+     }
+   else
+     {
+        const Gui_Widget *win_wdg = wdg_main_wdg_get(wdg);
+        base_obj = session_eo_get(session, win_wdg);
+     }
 
    /* This is "arrow" icon which flows around cursor. */
    Eo *cur_logo;
@@ -941,8 +969,22 @@ static Eina_Bool
 _marker_mouse_out(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
 {
    Eo *cur_logo = NULL;
+   _mmd.data = BORDER_OUT;
+
+   const Gui_Session *session = 
gui_context_editor_session_get(_active_context_get());
 
-   const Eo *base_obj = g->main_win->main_win;
+   const Gui_Widget *wdg = _editor_wdg_selected_get();
+
+   const Eo *base_obj;
+   if (IS_MAIN(wdg))
+     {
+        base_obj = canvas_get();
+     }
+   else
+     {
+        const Gui_Widget *win_wdg = wdg_main_wdg_get(wdg);
+        base_obj = session_eo_get(session, win_wdg);
+     }
 
    eo_do(base_obj, cur_logo = eo_key_data_get("cursor"));
 

-- 


Reply via email to