bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#3145: 23.0.92; detaching GTK+ tool bar crashes emacs --daemon


From: Jan Djärv
Subject: bug#3145: 23.0.92; detaching GTK+ tool bar crashes emacs --daemon
Date: Sat, 02 May 2009 18:51:14 +0200
User-agent: Thunderbird 2.0.0.21 (X11/20090409)

Sorry, no workaround is possible.
The part in Gtk+ that handles detaching uses a hidden window which it stores in a static variable. So it get created on the first display, but is still used on the second, but that is not a valid window anymore:

static GtkWidget *
gtk_handle_box_get_invisible (void)
{
  static GtkWidget *handle_box_invisible = NULL;

  if (!handle_box_invisible)
    {
      handle_box_invisible = gtk_invisible_new ();
      gtk_widget_show (handle_box_invisible);
    }

  return handle_box_invisible;
}

This is another instance of the "there is just one display and it is always open"-mindset of Gtk+.

I have filed a Gtk+ bug on this (http://bugzilla.gnome.org/show_bug.cgi?id=581110). Not sure what we should do about this bug though. Keep it until Gtk+ fixes/rejects the bug report or close it?

        Jan D.



Chong Yidong skrev:
Stephen Berman <stephen.berman@gmx.net> wrote:

Carrying out the following steps reliably crashes Emacs:

1. emacs -Q --daemon
2. emacsclient -c
3. Detach the tool bar (only possible with GTK+ build).
4. Close the client frame with C-x 5 0
5. emacsclient -c
6. Detach the tool bar
=> SIGSEGV

Actually, daemon mode is not needed.  You can also do this:

1. emacs -Q -nw
2. M-x make-frame-on-display RET :0.0 RET
3. Detach the tool bar
4. Close the client frame with C-x 5 0
5. M-x make-frame-on-display RET :0.0 RET
6. Detach the tool bar
=> SIGSEGV

Jan, could you try to debug this?  It may be another manifestation of
the problems we've been having with GTK and closing X connections.

It looks like it. The window for the detached tool bar is created and managed by Gtk+ and is not deleted when the display is removed it seems.

I'll see if we can work around it.

    Jan D.








reply via email to

[Prev in Thread] Current Thread [Next in Thread]