devilhorns pushed a commit to branch master.

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

commit a6277f4f6d45f30f1c6911656ee3a5eaa8413b50
Author: Mike Blumenkrantz <[email protected]>
Date:   Tue Jun 19 12:01:43 2018 -0400

    resolve a number of cases where a null object was passed to efl functions
    
    Summary:
    these are all harmless but will trigger error messages from efl
    
    ref T7030
    
    Depends on D6315
    
    Reviewers: ManMower, devilhorns
    
    Reviewed By: devilhorns
    
    Subscribers: cedric
    
    Tags: #enlightenment-git
    
    Maniphest Tasks: T7030
    
    Differential Revision: https://phab.enlightenment.org/D6316
---
 src/bin/e_bg.c                |  6 +++---
 src/bin/e_client.c            |  9 ++++-----
 src/bin/e_comp_object.c       |  6 +++---
 src/bin/e_gadget.c            |  2 +-
 src/bin/e_menu.c              |  1 +
 src/modules/ibar/e_mod_main.c | 17 ++++++++++-------
 6 files changed, 22 insertions(+), 19 deletions(-)

diff --git a/src/bin/e_bg.c b/src/bin/e_bg.c
index 9a1ffc972..8ed05daef 100644
--- a/src/bin/e_bg.c
+++ b/src/bin/e_bg.c
@@ -292,12 +292,12 @@ e_bg_zone_update(E_Zone *zone, E_Bg_Transition transition)
         edje_object_part_swallow(zone->transition_object, "e.swallow.bg.new",
                                  zone->bg_object);
         edje_object_signal_emit(zone->transition_object, "e,action,start", 
"e");
+        evas_object_name_set(zone->transition_object, 
"zone->transition_object");
+        evas_object_move(zone->transition_object, zone->x, zone->y);
+        evas_object_resize(zone->transition_object, zone->w, zone->h);
      }
    if (zone->bg_object) evas_object_name_set(zone->bg_object, 
"zone->bg_object");
    if (zone->prev_bg_object) evas_object_name_set(zone->prev_bg_object, 
"zone->prev_bg_object");
-   if (zone->transition_object) evas_object_name_set(zone->transition_object, 
"zone->transition_object");
-   evas_object_move(zone->transition_object, zone->x, zone->y);
-   evas_object_resize(zone->transition_object, zone->w, zone->h);
    e_comp_canvas_zone_update(zone);
 end:
    eina_stringshare_del(bgfile);
diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 464f7f9bd..5d73ca88b 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -628,7 +628,7 @@ _e_client_del(E_Client *ec)
    if (!stopping)
      {
         e_client_comp_hidden_set(ec, 1);
-        evas_object_pass_events_set(ec->frame, 1);
+        if (ec->frame) evas_object_pass_events_set(ec->frame, 1);
      }
 
    E_FREE_FUNC(ec->border_locks_dialog, e_object_del);
@@ -644,7 +644,7 @@ _e_client_del(E_Client *ec)
 
    if (ec->focused)
      _e_client_revert_focus(ec);
-   evas_object_focus_set(ec->frame, 0);
+   if (ec->frame) evas_object_focus_set(ec->frame, 0);
 
    E_FREE_FUNC(ec->ping_poller, ecore_poller_del);
    eina_hash_del_by_key(clients_hash[e_pixmap_type_get(ec->pixmap)], 
&ec->pixmap);
@@ -674,7 +674,7 @@ _e_client_del(E_Client *ec)
      child->leader = NULL;
 
    e_comp->clients = eina_list_remove(e_comp->clients, ec);
-   e_comp_object_render_update_del(ec->frame);
+   if (ec->frame) e_comp_object_render_update_del(ec->frame);
 }
 
 ///////////////////////////////////////////
@@ -2267,7 +2267,6 @@ _e_client_eval(E_Client *ec)
                }
           }
 
-        e_comp_object_frame_icon_update(ec->frame);
         if (ec->desktop)
           {
              if (!ec->exe_inst)
@@ -2278,7 +2277,7 @@ _e_client_eval(E_Client *ec)
                   ec->exe_inst->desktop = ec->desktop;
                }
           }
-        ec->changes.icon = 0;
+        ec->changes.icon = !e_comp_object_frame_icon_update(ec->frame);
         prop |= E_CLIENT_PROPERTY_ICON;
      }
 
diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 5671fdae4..ebe9673cc 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -2536,8 +2536,8 @@ _e_comp_smart_move(Evas_Object *obj, int x, int y)
    EINA_LIST_FOREACH(cw->obj_agent, l, o)
      evas_object_move(o, cw->ec->x, cw->ec->x);
    cw->agent_updating = 0;
-   evas_object_move(cw->clip, 0, 0);
-   evas_object_move(cw->effect_obj, x, y);
+   if (cw->clip) evas_object_move(cw->clip, 0, 0);
+   if (cw->effect_obj) evas_object_move(cw->effect_obj, x, y);
    if (cw->input_area)
      _e_comp_object_input_rect_update(cw);
    /* this gets called once during setup to init coords offscreen and 
guarantee first move */
@@ -3284,7 +3284,7 @@ e_comp_object_input_area_set(Evas_Object *obj, const 
Eina_Tiler *area)
    if ((!area) && (!cw->input_area)) return;
    if (area && cw->input_area && eina_tiler_equal(area, cw->input_area)) 
return;
    _e_comp_input_objs_free(cw);
-   evas_object_pass_events_set(cw->obj, 1);
+   if (cw->obj) evas_object_pass_events_set(cw->obj, 1);
    if ((!area) || eina_tiler_empty(area))
      {
         E_FREE_FUNC(cw->input_area, eina_tiler_free);
diff --git a/src/bin/e_gadget.c b/src/bin/e_gadget.c
index da102186e..0d6f21569 100644
--- a/src/bin/e_gadget.c
+++ b/src/bin/e_gadget.c
@@ -2259,7 +2259,7 @@ e_gadget_util_layout_style_init(Evas_Object *g, 
Evas_Object *style)
           elm_box_unpack(zgc->site->layout, prev);
      }
    evas_object_raise(zgc->site->events);
-   evas_object_event_callback_del(prev, EVAS_CALLBACK_CHANGED_SIZE_HINTS, 
_gadget_style_hints);
+   if (prev) evas_object_event_callback_del(prev, 
EVAS_CALLBACK_CHANGED_SIZE_HINTS, _gadget_style_hints);
    if (!style) return prev;
 
    evas_object_data_set(style, "__e_gadget", zgc);
diff --git a/src/bin/e_menu.c b/src/bin/e_menu.c
index ec3f46853..213e62c12 100644
--- a/src/bin/e_menu.c
+++ b/src/bin/e_menu.c
@@ -470,6 +470,7 @@ e_menu_title_set(E_Menu *m, const char *title)
    if (title) m->header.title = eina_stringshare_add(title);
    else m->header.title = NULL;
    m->changed = 1;
+   if (!m->realized) return;
    edje_object_part_text_set(m->bg_object, "e.text.title", m->header.title);
    if (m->header.title)
      edje_object_signal_emit(m->bg_object, "e,action,show,title", "e");
diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c
index cd5fca86a..f4ddc195b 100644
--- a/src/modules/ibar/e_mod_main.c
+++ b/src/modules/ibar/e_mod_main.c
@@ -610,13 +610,16 @@ static void
 _ibar_orient_set(IBar *b, int horizontal)
 {
    Evas_Coord w, h;
-   
-   if (!horizontal)
-     e_theme_edje_object_set(b->o_sep, "base/theme/modules/ibar", 
"e/modules/ibar/separator/horizontal");
-   else
-     e_theme_edje_object_set(b->o_sep, "base/theme/modules/ibar", 
"e/modules/ibar/separator/default");
-   edje_object_size_min_calc(b->o_sep, &w, &h);
-   evas_object_size_hint_min_set(b->o_sep, w, h);
+
+   if (b->o_sep)
+     {
+        if (!horizontal)
+          e_theme_edje_object_set(b->o_sep, "base/theme/modules/ibar", 
"e/modules/ibar/separator/horizontal");
+        else
+          e_theme_edje_object_set(b->o_sep, "base/theme/modules/ibar", 
"e/modules/ibar/separator/default");
+        edje_object_size_min_calc(b->o_sep, &w, &h);
+        evas_object_size_hint_min_set(b->o_sep, w, h);
+     }
    elm_box_horizontal_set(b->o_box, horizontal);
    elm_box_horizontal_set(b->o_outerbox, horizontal);
 }

-- 


Reply via email to