Comment 12 for bug 717162

Revision history for this message
Oleg Shparber (trollixx) wrote :

This bug origns from appmenu-gtk and affects multi-thread applications based on gthread.
To fix in bridge.c item_activated function should use gdk_threads_enter and gdk_threads_leave:

static void
item_activated (DbusmenuMenuitem *item, guint timestamp, gpointer user_data)
{
  GtkWidget *child;

  if (user_data != NULL)
    {
      child = (GtkWidget *)user_data;

      if (GTK_IS_MENU_ITEM (child))
        {
          gdk_threads_enter ();
          gtk_menu_item_activate (GTK_MENU_ITEM (child));
          gdk_threads_leave ();
        }
    }
}