On Mon, 6 Feb 2012 22:20:04 +0100 "[email protected]"
<[email protected]> said:
i'm seeing some bizarre numbers like:
Program received signal SIGINT, Interrupt.
rect_list_add_split_fuzzy (tb=0x8092fc8, x=<value optimized out>, y=399,
w=<value optimized out>, h=<value optimized out>) at evas_tiler.c:666
666 else if ((intra.width == current.width) &&
(gdb) p intra
$18 = {left = 1, top = 0, right = -5992, bottom = -16385, width = -343,
height = 1, area = 4040884}
(gdb) p accepted_error
$21 = 1024
(gdb) p current
$22 = {left = 0, top = 405, right = 155, bottom = 477, width = 155,
height = 72, area = 11160}
(gdb) p r
$23 = {left = 498, top = 402, right = 503, bottom = 406, width = 5,
height = 4, area = 20}
look at outer... then look at _calc_intra_outer_rect_area() that's meant to
fill it in.. how on earth is it getting those large negative values?
> Hi,
> if anyone is in the mood to dig into evas_tiler, my little test app
> makes evas get stuck in a loop there. it's reliable reproduceable but
> it takes sometimes a bit until it hits this case. input is automated
> for testing, but moving the mouse and zooming with scroll-wheel makes
> it hang faster here.
>
> the code
> http://pastebin.com/KGUFm2Kn
>
>
> Regards,
> Hannes
>
> ----
> no split no merge 19508
> 647 while (cur_node)
> (gdb)
> 652 current = ((rect_node_t *)cur_node)->rect;
> (gdb)
> 654 _calc_intra_outer_rect_area(r, current, &intra, &outer);
> (gdb)
> 655 area = current.area + r.area - intra.area;
> (gdb)
> 657 if ((intra.width == r.width) && (intra.height ==
> r.height)) (gdb)
> 668 else if ((intra.width == current.width) &&
> (gdb)
> 669 (intra.height == current.height))
> (gdb)
> 668 else if ((intra.width == current.width) &&
> (gdb)
> 682 else if ((outer.area - area) <= accepted_error)
> (gdb)
> 704 else if (intra.area <= accepted_error)
> (gdb)
> 713 prev_cur_node = cur_node;
> (gdb)
> 714 cur_node = cur_node->next;
> (gdb)
> 716 if (_splits++ > 1000)
> (gdb)
> 717 printf("no split no merge %d\n", _splits);
> (gdb)
> no split no merge 19509
> 647 while (cur_node)
> (gdb)
> 652 current = ((rect_node_t *)cur_node)->rect;
> (gdb)
> 654 _calc_intra_outer_rect_area(r, current, &intra, &outer);
> (gdb)
> ....
>
> ------------------------------------------------------------------------------
> Try before you buy = See our experts in action!
> The most comprehensive online learning library for Microsoft developers
> is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
> Metro Style Apps, more. Free future releases when you subscribe now!
> http://p.sf.net/sfu/learndevnow-dev2
> _______________________________________________
> enlightenment-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler) [email protected]
------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel