I added comments for this workaround patch.
Please review this and apply it if it's ok.
Thanks.
2011/11/25 Carsten Haitzler <[email protected]>
> On Fri, 25 Nov 2011 09:17:58 +0900 이명재 <[email protected]> said:
>
> this really smells of a bug in edje or evas. this is just a workaround.
> sure -
> temporary workaround is ok, but core bug needs fixing. tom........ ?
>
> > Dear, Tom, Raster and EFL people.
> >
> > After applying the previous changeset 64721, the cursor geometry is wrong
> > in a char-wrapped or a mixed mode entry contented in a scroller (not a
> > scrolled entry).
> > In other words, a word-wrapped entry or a scrolled entry (when
> > elm_entry_scrollable_set is set to TRUE) doesn't have this problem.
> >
> > Because the cursor geometry that comes from the
> > evas_textblock_cursor_geometry_get function(en->cursor, ...) is wrong (w
> is
> > fixed to small value and h is getting bigger when text is written
> > horizontally), when we type texts into the entry near the top lines,
> entry
> > is scrolled to the bottom lines.
> >
> > Please apply attached patch file, "entry_test.patch.txt" (patch to
> > elm_entry.c and test_entry.c files) and see what happens in the below
> test
> > path.
> >
> > Test path : 'Elementary Test' -> 'Entry 5' -> Insert any text into the
> 1st
> > line
> > Result : Entry is scrolled to the bottom line so inserted texts in the
> 1st
> > line are not shown until entry is scrolled to the top
> >
> >
> > I also attached a quick patch for this problem. ("elm_entry.patch.txt")
> > In the patch file, I just changed the order of these 2 function calls and
> > now it works fine in all line wrapping mode.
> >
> > edje_object_size_min_restricted_calc(wd->ent, &fw, &fh, 0, 0);
> > edje_object_size_min_restricted_calc(wd->ent, &minw, &minh, resw, 0);
> >
> > It's really weird that changing the order of calling
> > 'edje_object_size_min_restricted_calc' functions affects the size of
> > textblock cursor geometry in entry.
> >
> > Please look into this bug and if you find the main problem on textblock's
> > side, please fix it.
> >
> > If it takes time to fix this, please apply the attached quick patch file
> > and fix it when you're available because we have some scroll issues with
> > entry in scroller here at this moment.
> >
> > Thank you.
>
>
> --
> ------------- Codito, ergo sum - "I code, therefore I am" --------------
> The Rasterman (Carsten Haitzler) [email protected]
>
>
Index: src/lib/elm_entry.c
===================================================================
--- src/lib/elm_entry.c (revision 65591)
+++ src/lib/elm_entry.c (working copy)
@@ -598,8 +598,12 @@ _elm_deferred_recalc_job(void *data)
wd->deferred_recalc_job = NULL;
evas_object_geometry_get(wd->ent, NULL, NULL, &resw, NULL);
+ /* This is a hack to workaround to avoid the cursor geometry bug
+ * in a char-wrap or a mixed-mode textblock in a scroller.
+ * The order of calling next 2 functions affects to the size of the
textblock cursor.
+ * When the textblock core issue is fixed these comments will be removed. */
+ edje_object_size_min_restricted_calc(wd->ent, &fw, &fh, 0, 0);
edje_object_size_min_restricted_calc(wd->ent, &minw, &minh, resw, 0);
- edje_object_size_min_restricted_calc(wd->ent, &fw, &fh, 0, 0);
elm_coords_finger_size_adjust(1, &fw, 1, &minh);
wd->entmw = fw;
wd->entmh = minh;
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure
contains a definitive record of customers, application performance,
security threats, fraudulent activity, and more. Splunk takes this
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel