This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Harold Hunt wrote:
Actually, I'm now using Test57, and I haven't seen my problem either.Jehan, That last message fired off before I was done... my Ctrl key is sticking so when I hit Enter it sent a Ctrl+Enter, which sends the message.I don't think you need to manage the cursor in WM_ACTIVATEAPP, managing it in WM_ACTIVATE should be enough because, if I'm not wrong, XWin will always receive a WM_ACTIVATE with a WM_ACTIVATEAPP.Then again, your version gets trapped in a state where the cursor is shown, whereas I haven't seen that problem with Test57 yet :)
But the code changed since and got simplified a lot, especially everything about hiding/showing the cursor the previous screen and all that stuff is gone. So maybe the bug has been flushed with the code :).I remember spending a *lot* of time reading the docs about WM_ACTIVATE and WM_ACTIVATEAPP to figure out where to show and hide the cursor. There were constant bug repots until I got it right, so I'm going to tend to believe that the show/hide in WM_ACTIVATEAPP is required, until someone presents me with some sample code and documentation exerpts that shows me that 1) they've spent more time on the problem than I have and 2) that the show/hide code in WM_ACTIVATEAPP is indeed not needed.
--- hw/xwin.orig/winwndproc.c 2002-06-08 18:46:26.000000000 -0700
+++ hw/xwin/winwndproc.c 2002-06-09 13:47:32.000000000 -0700
@@ -418,20 +418,27 @@
#endif
/* Hide or show the Windows mouse cursor */
- if ((LOWORD(wParam) == WA_ACTIVE
- || LOWORD(wParam) == WA_CLICKACTIVE)
- && fCursor)
+ if ((LOWORD(wParam) == WA_ACTIVE || LOWORD(wParam) == WA_CLICKACTIVE))
{
- /* Hide Windows cursor */
- fCursor = FALSE;
- ShowCursor (FALSE);
+ if (fCursor)
+ {
+ /* Hide Windows cursor */
+ fCursor = FALSE;
+ ShowCursor (FALSE);
+ }
+
+ pScreenPriv->fActive = TRUE;
}
- else if (LOWORD(wParam) == WA_INACTIVE
- && !fCursor)
+ else if (LOWORD(wParam) == WA_INACTIVE)
{
- /* Show Windows cursor */
- fCursor = TRUE;
- ShowCursor (TRUE);
+ if (!fCursor)
+ {
+ /* Show Windows cursor */
+ fCursor = TRUE;
+ ShowCursor (TRUE);
+ }
+
+ pScreenPriv->fActive = FALSE;
}
return 0;
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |