elementary/els_scroller - added exception handling

if user call any other APIs (ex, elm_smart_scroller_object_theme_object_set) before elm_smart_scroller_child_set?



SVN revision: 57686
This commit is contained in:
ChunEon Park 2011-03-11 09:43:48 +00:00
parent 9442bdd854
commit 8032a600c1
1 changed files with 12 additions and 7 deletions

View File

@ -2274,9 +2274,12 @@ _smart_scrollbar_reset(Smart_Data *sd)
edje_object_part_drag_size_set(sd->edje_obj, "elm.dragable.vbar", 1.0, 1.0);
edje_object_part_drag_size_set(sd->edje_obj, "elm.dragable.hbar", 1.0, 1.0);
}
sd->pan_func.min_get(sd->pan_obj, &minx, &miny);
sd->pan_func.get(sd->pan_obj, &px, &py);
sd->pan_func.set(sd->pan_obj, minx, miny);
if (sd->pan_obj)
{
sd->pan_func.min_get(sd->pan_obj, &minx, &miny);
sd->pan_func.get(sd->pan_obj, &px, &py);
sd->pan_func.set(sd->pan_obj, minx, miny);
}
if ((px != minx) || (py != miny))
edje_object_signal_emit(sd->edje_obj, "elm,action,scroll", "elm");
}
@ -2285,10 +2288,11 @@ static int
_smart_scrollbar_bar_v_visibility_adjust(Smart_Data *sd)
{
int scroll_v_vis_change = 0;
Evas_Coord h, vw, vh;
Evas_Coord h, vw = 0, vh = 0;
h = sd->child.h;
evas_object_geometry_get(sd->pan_obj, NULL, NULL, &vw, &vh);
if (sd->pan_obj)
evas_object_geometry_get(sd->pan_obj, NULL, NULL, &vw, &vh);
if (sd->vbar_visible)
{
if (sd->vbar_flags == ELM_SMART_SCROLLER_POLICY_AUTO)
@ -2353,10 +2357,11 @@ static int
_smart_scrollbar_bar_h_visibility_adjust(Smart_Data *sd)
{
int scroll_h_vis_change = 0;
Evas_Coord w, vw, vh;
Evas_Coord w, vw = 0, vh = 0;
w = sd->child.w;
evas_object_geometry_get(sd->pan_obj, NULL, NULL, &vw, &vh);
if (sd->pan_obj)
evas_object_geometry_get(sd->pan_obj, NULL, NULL, &vw, &vh);
if (sd->hbar_visible)
{
if (sd->hbar_flags == ELM_SMART_SCROLLER_POLICY_AUTO)