Comment 18 for bug 448084

Revision history for this message
Kalle Valo (kvalo) wrote :

I tried to reproduce over an hour, without luck. I was able to crash gnome-panel once with a different strack trace, it crashed in gtk_widget_hide(). Might be related to this, though. I'll file a separate bug report about that one.

Back to this bug. The event was emitted from applet.c line 741:

static void
panel_applet_destroy (GtkWidget *widget,
        AppletInfo *info)
{
 GList *l;

 g_return_if_fail (info != NULL);

 info->widget = NULL;

 registered_applets = g_slist_remove (registered_applets, info);
 panel_applet_signaler_remove_applet(info); <==== line 741

 queued_position_saves =
  g_slist_remove (queued_position_saves, info);

 if (info->type == PANEL_OBJECT_DRAWER) {
  Drawer *drawer = info->data;

panel_applet_signaler_remove_applet() emits applet removed signal:

+ g_signal_emit(signaler, signals[APPLET_REMOVED], NULL, applet);

But as I said in comment #17, the crash seems to happen in "show" event handler. I don't yet understand how this happens.