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); }