Comment 5 for bug 851954

Revision history for this message
Michael Terry (mterry) wrote :

OK, this one is a bit silly and it's my fault.

In unity's services/panel-service.c, I added this line:
          g_signal_connect (priv->last_menu, "deactivate", G_CALLBACK (gtk_widget_destroy), NULL);

But destroying the widget causes dispose to be run, and GtkMenuShell's dispose causes "deactivate" to run.

I'm pretty sure I tested this code and didn't get this behavior. So either this sequence changed or I'm misremembering. Regardless, it's like that now.

The fix should be to disconnect the signal handler when we get that signal. I'll work on a patch.