Comment #6 on issue 8712 by [email protected]: Linux crash on wrench ->  
exit
http://code.google.com/p/chromium/issues/detail?id=8712

Evan had a really good reply to my code review:

So here's
some random info that may help.
  - "destroy" is sent on all GtkObjects and matches the destructor in
C++.  So it's part of the synchronous call stack of gtk_widget_destroy()
because that is where the widget is actually destroyed.
  - "destroy-event" is this other thing that maybe corresponds to
WM_DESTROY on windows in that it's telling you about an X window going
away; the GTK docs say you rarely recieve this because of the way
destruction order happens (first you destroy your window, then
yourself).
  - finally, top-level windows have a "delete-event" which comes from the
close button being clicked and by default it destroys the window.

Depending on how sensitive our destruction order is to this stuff, one
option might be using something like
http://library.gnome.org/devel/gtk/stable/GtkWidget.html#gtk-widget-hide-on-delete
to make it so closing the window doesn't actually close it, but instead
hides it and invokes the same code path as the normal "exit" command.


I think there are probably more things we are doing wrong here, it's super  
gnarly
because we're not fitting the model exactly right, and if we did it would  
be simple.
I need to spend some more time looking at it tomorrow, now that I actually  
understand
the bug.  I will have to look at Windows, and see how and where they delete  
the
objects and close the windows.  I am guessing that our code to delete  
browser_win is
wrong.

--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

--~--~---------~--~----~------------~-------~--~----~
Automated mail from issue updates at http://crbug.com/
Subscription options: http://groups.google.com/group/chromium-bugs
-~----------~----~----~----~------~----~------~--~---

Reply via email to