focus / windows update problems

Harold L Hunt II huntharo@msu.edu
Fri Oct 3 14:29:00 GMT 2003


Jochen,

Yes, I can reproduce this behavior.

I added the following processing to winTopLevelWindowProc() and would 
like a review from some other developers.  Note: It does fix the 
problem, but I am not 100% sure that it is correct.

     case WM_WINDOWPOSCHANGED:
       {
	LPWINDOWPOS pwindPos = (LPWINDOWPOS) lParam;

	/* Bail if window z order was not changed */
	if (pwindPos->flags & SWP_NOZORDER)
	  break;

#if CYGMULTIWINDOW_DEBUG
	ErrorF ("winTopLevelWindowProc - hwndInsertAfter: %p\n",
		pwindPos->hwndInsertAfter);
#endif
	
	/* Pass the message to the root window */
	SendMessage (hwndScreen, message, wParam, lParam);
	
	if (s_pScreenPriv != NULL)
	  s_pScreenPriv->fWindowOrderChanged = TRUE;
       }
       return 0;



On a side note, is that a mistake the way that SendMessage is always 
called before setting the flag in s_pScreenPriv?  If it is intended that 
the root window be able to query that parameter, then it would be a race 
condition to see whether or not that parameter got set before or after 
the root window processed the message.  Any comments?

Harold

Jochen Küpper wrote:

> I started up the Cygwin XFree86 server yesterday again (after many
> weeks). Thanks for all the improvements!
> 
> I do have a problem with window content updates, though. I am running
> latest Cygwin (as of yesterday) on a Win2000 system with "focus
> follows mouse policy" (this can be set in TweakUI). Mostly it works
> fine for X programs, too.
> 
> When I have two overlapping X windows and move the mouse to the back
> one it gets focus and everything is as expected. However when I then
> click its titlebar to move it to the front the newly shown content is
> not redrawn! Only when the window looses focus and regains it the
> content will be displayed correctly.
> 
> Looks like bringing the window to the front does not trigger the right
> signal, i.e. redefining the window area which has to be redrawn.
> 
> Feel free to contact me if you need more information.
> 
> Greetings,
> Jochen



More information about the Cygwin-xfree mailing list