GNOME Bugzilla – Bug 755582
nautilus: placement_grid_mark_icon(): nautilus killed by SIGSEGV
Last modified: 2015-10-06 17:16:39 UTC
The downstream bug https://bugzilla.redhat.com/show_bug.cgi?id=1263106 has a stacktrace where nautilus crashes because it passes a NULL grid to placement_grid_mark_icon. Looking at nautilus-canvas-container.c, all callers of placement_grid_new have a check for the return value being NULL. The one in line 6010 doesn't. And that is what leads to the crash here.
Created attachment 312751 [details] [review] canvas-container: avoid creating layout if not grid When relayouting we want to finish adding and layouting the previous layout, but sometimes we can try to layout when it's actually not possible to create a grid, for instance if the size of the desktop is not enough or is not yet allocated. To prevent that, return early if we try to relayout in that case and schedule a relayout.
I don't know very good this part of the code, but I think this will do. Thanks for the pointers Mathias! Attachment 312751 [details] pushed as b189ddf - canvas-container: avoid creating layout if not grid