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

Reply via email to