Let's kill bug #351814



Bug 351814 – crash while deleting more than 1 bookmark in bm-editor

With LOTS of dups, this is a serious bug and also a very weird one.

I tried to figure where is the problem with my humble g_print()
abilities but I only got more questions to ask.
I'm pasting my comment on that bug (#25) so if anyone wants to fix
this at least you got a starting point:

----------------------
Ok, I have been trying to find reasons why this happens.
Some info I have gathered:

1. In lib/widgets/ephy-node-view.c: ephy_node_view_remove() and
get_node_from_path() call gtk_tree_model_filter_convert_iter_to_child_iter()
giving an already inited GtkTreeIter (documentation says this is not good).
Changing this doesn't solve the problem.

2. History window had a similar problem that was workaround'd in bug #346662.

3. ephy_node_view_remove() calls ephy_node_view_get_selection() to get the
selected items and then does:
for (l = list; l; l = l->next)
{
       ephy_node_unref (l->data);
}
BUT!, ephy_node_unref() is called only _once_ no matter how many elements you
have selected. I understand/guess that this is wrong and that since it's a for
over a list it should go again and again until "l" is NULL.
Instead there's a lot of calls to get_selection() (I see one call for each
element selected, I guess that's not ok :/), this buddy calls
get_node_from_path().

4. The real crash seems to be in get_node_from_path().
--------

Point 3 is the one that confuses me more, also point 2 because the
problem was the same but the fix only works for history not for
bookmarks.


Well, let's hope this drives attention to #351814.

See ya

--
"First they ignore you, then they laugh at you, then they fight you,
then you win"  -Ghandi

http://diego.aureal.com.pe


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]