On Mon, 6 Feb 2012 22:20:04 +0100 "hannes.janet...@gmail.com" <hannes.janet...@googlemail.com> 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 > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com ------------------------------------------------------------------------------ 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 enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel