if (sd->resize_job) ecore_job_del(sd->resize_job);
sd->resize_job = ecore_job_add(_pan_resize_job, sd);
}
- sd->wd->pan_resized = EINA_TRUE;
+ sd->wd->pan_changed = EINA_TRUE;
evas_object_smart_changed(obj);
if (sd->wd->calc_job) ecore_job_del(sd->wd->calc_job);
sd->wd->calc_job = NULL;
if (!sd) return;
evas_event_freeze(evas_object_evas_get(obj));
- if (sd->wd->pan_resized)
+ if (sd->wd->pan_changed)
{
_calc_job(sd->wd);
- sd->wd->pan_resized = EINA_FALSE;
+ sd->wd->pan_changed = EINA_FALSE;
}
evas_object_geometry_get(obj, &ox, &oy, &ow, &oh);
Pan *sd = evas_object_smart_data_get(obj);
if (!sd) return;
+
+ sd->wd->pan_changed = EINA_TRUE;
+ evas_object_smart_changed(obj);
if (sd->wd->calc_job) ecore_job_del(sd->wd->calc_job);
- sd->wd->calc_job = ecore_job_add(_calc_job, sd->wd);
+ sd->wd->calc_job = NULL;
}
static void
{
showme = _item_block_recalc(it->item->block, it->item->block->num, EINA_TRUE);
it->item->block->changed = 0;
+ if(wd->pan_changed)
+ {
+ if (wd->calc_job) ecore_job_del(wd->calc_job);
+ wd->calc_job = NULL;
+ _calc_job(wd);
+ wd->pan_changed = EINA_FALSE;
+ }
}
if (showme) it->item->block->showme = EINA_TRUE;
if (eina_inlist_count(wd->blocks) > 1)
}
}
wd->clear_me = 0;
+ wd->pan_changed = EINA_TRUE;
if (wd->calc_job)
{
ecore_job_del(wd->calc_job);
Eina_Bool swipe : 1;
Eina_Bool reorder_pan_move : 1;
Eina_Bool auto_scroll_enabled : 1;
- Eina_Bool pan_resized : 1;
+ Eina_Bool pan_changed : 1;
Eina_Bool requeued : 1; /* this is set to EINA_TRUE when the item is re-queued. this happens when the item is un-queued but the rel item is still in the queue. this item will be processed later. */
struct
{