Subject: Re: bug#11513: 24.1.50; raise-frame never raise the foreground window on Windows

From: Eli Zaretskii <[email-masked]>
Date: Mon, 21 May 2012 22:12:46 +0300

> Date: Sat, 19 May 2012 14:56:57 +0200
> From: martin rudalics <[email-masked]>
> CC: Kazuhiro Ito <[email-masked]>, [email-masked]
> 
> > Would other Windows users please try reproducing this problem on their
> > machines?
> 
> Not reproducible on Windows XP.  Tested with release and trunk, both
> built by myself.

It's a very elusive problem.  I managed to reproduce it on 1 system
out of 3 to which I have constant access, and even that only for a few
minutes and under some conditions.  E.g., when lowering the frame left
only the left side of the Emacs frame visible, the bug would manifest
itself; whereas when its right side was visible, it won't.  And once I
reshuffled the other windows a bit, the bug disappeared and I couldn't
reproduce it anymore.

Do you get the faulty behavior consistently?  If so, what's your value
of this Registry key:

  HKEY_CURRENT_USER\Control Panel\Desktop\UserPreferencesMask

Anyway, back to the discussion, I notice that:

 . The documentation of SetForegroundWindow
   (http://msdn.microsoft.com/en-us/library/windows/desktop/ms633539%28v=vs.85%29.aspx)
   lists quite a few of conditions under which the function will
   succeed; are you sure at least one of them was true when you tried?
   can you look at the value of 'retval' after the function returns
   without bringing the frame to the foreground?

 . This page:

     http://stackoverflow.com/questions/1544179/what-are-the-differences-between-bringwindowtotop-setforegroundwindow-setwindo

   seems to tell that BringWindowToTop might fail as well, if it is
   applied to a child window.  What does this mean in terms of Emacs
   frames?

 . There are quite a few discussions about this that Google picks up,
   and most of them clearly say that using BringWindowToTop isn't
   sufficient, either.