|
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 => SIGSEGVActually, 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.
[Prev in Thread] | Current Thread | [Next in Thread] |