now I finally found a way to fix this, though I'm sure it's rather a 
workaround than a fix.

the problem seems to be that evas has to render in order to correct the 
coordinates of the buttons within the block. Thus, enforcing evas_render 
and adjusting the scroller again works fine.
Could pls s.o. look into that issue? I assume this render operation 
should be placed somewhere else, but I dunno where. Just calling it 
before adjusting the scroller region doesn't work.


Index: src/lib/elm_genlist.c
===================================================================
--- src/lib/elm_genlist.c       (revision 41609)
+++ src/lib/elm_genlist.c       (working copy)
@@ -1902,6 +1902,11 @@
                                         it->x + it->block->x,
                                         it->y + it->block->y,
                                         it->block->w, it->h);
+   evas_render(evas_object_evas_get(it->wd->obj));
+   elm_smart_scroller_child_region_show(it->wd->scr,
+                                       it->x + it->block->x,
+                                       it->y + it->block->y,
+                                       it->block->w, it->h);
  }


On 06/28/2009 05:15 PM, N-Billy wrote:
> Hello e-developers,
>
> I'm working on the enna project and found a bug within the elementary 
> library. The error occurs using the generic list when scrolling.
> As far as I was able to analyse, the list is organized with blocks of 
> max 32 items. Now, when selecting an item within a block other than 
> the first item of that block, the wrong region is scrolled to. Thus 
> the selected item is not visible.
> I've modified the elementary_test a bit to reproduce this by 
> generating a long list (2000 items), with three jumps (selections) 
> each after 5 seconds. The first one jumps to item 38, so the 6th item 
> of the second block. This won't work, instead the region of items 43 
> to 52 is shown. The second jump is to item 32 which works fine and 
> shows that item on the top of the visible area. The third jump again 
> to item 38 will work too as the block seems to be correctly 
> 'initialized' now.
> There's also some debugging output showing that the coordinates of the 
> same item within the list changes (y from 780 to 240).
> Interestingly when setting the whole window hight to 800px everything 
> works fine. But e.g. with 400px it's reproducable.
>
> Attached you'll find the patch for that test. Just start the first 
> "Genlist" example to reproduce.
>
> I just used the latest revision from repository.
>
> Bill

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to