Change-Id: Ie315e20893d9809bb60edce27260799af0a3f6f6
int mgf_type;
Ecore_Job *deferred_recalc_job;
Ecore_Job *region_get_job;
int mgf_type;
Ecore_Job *deferred_recalc_job;
Ecore_Job *region_get_job;
+ Ecore_Job *region_recalc_job;
Ecore_Event_Handler *sel_notify_handler;
Ecore_Event_Handler *sel_clear_handler;
Ecore_Timer *delay_write;
Ecore_Event_Handler *sel_notify_handler;
Ecore_Event_Handler *sel_clear_handler;
Ecore_Timer *delay_write;
static void _magnifier_move(void *data);
static Evas_Coord_Rectangle _layout_region_get(Evas_Object *data);
static Evas_Coord_Rectangle _viewport_region_get(Evas_Object *data);
static void _magnifier_move(void *data);
static Evas_Coord_Rectangle _layout_region_get(Evas_Object *data);
static Evas_Coord_Rectangle _viewport_region_get(Evas_Object *data);
-static void _elm_win_region_get_job(void *data);
+static void _region_get_job(void *data);
+static void _region_recalc_job(void *data);
static const char SIG_CHANGED[] = "changed";
static const char SIG_ACTIVATED[] = "activated";
static const char SIG_CHANGED[] = "changed";
static const char SIG_ACTIVATED[] = "activated";
if (wd->password_text) eina_stringshare_del(wd->password_text);
if (wd->deferred_recalc_job) ecore_job_del(wd->deferred_recalc_job);
if (wd->region_get_job) ecore_job_del(wd->region_get_job);
if (wd->password_text) eina_stringshare_del(wd->password_text);
if (wd->deferred_recalc_job) ecore_job_del(wd->deferred_recalc_job);
if (wd->region_get_job) ecore_job_del(wd->region_get_job);
+ if (wd->region_recalc_job) ecore_job_del(wd->region_recalc_job);
if (wd->append_text_idler)
{
ecore_idler_del(wd->append_text_idler);
if (wd->append_text_idler)
{
ecore_idler_del(wd->append_text_idler);
if (!_elm_config->desktop_entry)
{
if (wd->region_get_job) ecore_job_del(wd->region_get_job);
if (!_elm_config->desktop_entry)
{
if (wd->region_get_job) ecore_job_del(wd->region_get_job);
- wd->region_get_job = ecore_job_add(_elm_win_region_get_job, data);
+ wd->region_get_job = ecore_job_add(_region_get_job, data);
if (!_elm_config->desktop_entry)
{
if (wd->region_get_job) ecore_job_del(wd->region_get_job);
if (!_elm_config->desktop_entry)
{
if (wd->region_get_job) ecore_job_del(wd->region_get_job);
- wd->region_get_job = ecore_job_add(_elm_win_region_get_job, data);
+ wd->region_get_job = ecore_job_add(_region_get_job, data);
-_elm_win_region_get_job(void *data)
+_region_get_job(void *data)
{
Widget_Data *wd = elm_widget_data_get(data);
Evas_Coord_Rectangle ret_rect;
{
Widget_Data *wd = elm_widget_data_get(data);
Evas_Coord_Rectangle ret_rect;
if (!_elm_config->desktop_entry)
{
if (!_elm_config->desktop_entry)
{
+ if (wd->region_recalc_job) ecore_job_del(wd->region_recalc_job);
+ wd->region_recalc_job = ecore_job_add(_region_recalc_job, data);
+
evas_smart_objects_calculate(evas_object_evas_get(data));
evas_smart_objects_calculate(evas_object_evas_get(data));
+ }
+}
+
+static void
+_region_recalc_job(void *data)
+{
+ Widget_Data *wd = elm_widget_data_get(data);
+ Evas_Coord_Rectangle ret_rect;
+ if (!wd) return;
+ wd->region_recalc_job = NULL;
+ if (!_elm_config->desktop_entry)
+ {
ret_rect = _viewport_region_get(data);
edje_object_part_text_viewport_region_set(wd->ent, "elm.text", ret_rect.x, ret_rect.y, ret_rect.w, ret_rect.h);
ret_rect = _layout_region_get(data);
ret_rect = _viewport_region_get(data);
edje_object_part_text_viewport_region_set(wd->ent, "elm.text", ret_rect.x, ret_rect.y, ret_rect.w, ret_rect.h);
ret_rect = _layout_region_get(data);
static void
_signal_selection_end(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
{
static void
_signal_selection_end(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
{