[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Strange lockup with metacity
From: |
Chong Yidong |
Subject: |
Re: Strange lockup with metacity |
Date: |
Wed, 29 Nov 2006 19:16:13 -0500 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.91 (gnu/linux) |
>> There was one controversial patch
>> applied to src/xterm.c at the beginning of November, which may have
>> some bearing on this. This is just a hunch, but could you apply the
>> reversed patch and see if the problem persists?
>
> Applying that patch fixed the problem. I'm much happier now - thanks!
My preceding email to Jon was not sent to this list, but the patch in
question was the _NET_ACTIVE_WINDOW hack discussed in the "raise-frame
doesn't work in Fedora Core 4" thread on emacs-devel. Apparently, the
hack has bad side-effects.
RCS file: /sources/emacs/emacs/src/xterm.c,v
retrieving revision 1.929
retrieving revision 1.930
diff -c -r1.929 -r1.930
*** emacs/src/xterm.c 2006/10/10 14:37:54 1.929
--- emacs/src/xterm.c 2006/11/03 08:58:39 1.930
***************
*** 8607,8619 ****
x_raise_frame (f)
struct frame *f;
{
if (f->async_visible)
! {
! BLOCK_INPUT;
! XRaiseWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f));
! XFlush (FRAME_X_DISPLAY (f));
! UNBLOCK_INPUT;
! }
}
/* Lower frame F. */
--- 8607,8631 ----
x_raise_frame (f)
struct frame *f;
{
+ Lisp_Object frame;
+ const char *atom = "_NET_ACTIVE_WINDOW";
+
+ BLOCK_INPUT;
if (f->async_visible)
! XRaiseWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f));
!
! XSETFRAME (frame, f);
! /* See Window Manager Specification/Extended Window Manager Hints at
! http://freedesktop.org/wiki/Standards_2fwm_2dspec */
!
! Fx_send_client_event (frame, make_number (0), frame,
! make_unibyte_string (atom, strlen (atom)),
! make_number (32),
! Fcons (make_number (1),
! Fcons (make_number (time (NULL) * 1000),
! Qnil)));
! XFlush (FRAME_X_DISPLAY (f));
! UNBLOCK_INPUT;
}
/* Lower frame F. */