[Bug 1733] Black cursor on textbox with black backgroud -> cursor invisible
wine-bugs at winehq.org
wine-bugs at winehq.org
Mon May 10 17:54:56 CDT 2010
http://bugs.winehq.org/show_bug.cgi?id=1733
Nikolay Sivov <bunglehead at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |NEW
Component|winex11.drv |user32
--- Comment #21 from Nikolay Sivov <bunglehead at gmail.com> 2010-05-10 17:54:54 ---
Still present with current wine-1.1.44-72-g658209b.
It's not a drawing problem, a possible issue with custom window colour is fixed
by commit dcddea361f3cd2717c92757adddb87badc55d3ff (isn't directly related to
this bug, just for record).
A real problem is that application (most likely VFP runtime itself) does
something like this:
---
0009:Call KERNEL32.Sleep(00000001) ret=0c15fc55
0009:Ret KERNEL32.Sleep() retval=00000000 ret=0c15fc55
0009:Call user32.GetQueueStatus(00000006) ret=0c120292
0009:Ret user32.GetQueueStatus() retval=00000000 ret=0c120292
0009:Call user32.GetCursorPos(0033e034) ret=0c029a19
0009:Ret user32.GetCursorPos() retval=00000001 ret=0c029a19
0009:Call user32.ScreenToClient(00010078,0033e0a8) ret=0c03415f
0009:Ret user32.ScreenToClient() retval=00000001 ret=0c03415f
0009:Call gdi32.GetTextExtentPoint32A(00001138,0033dfec "
+\x08\x0c\x15",00000015,0033df28) ret=0c0177e6
0009:Ret gdi32.GetTextExtentPoint32A() retval=00000001 ret=0c0177e6
0009:Call user32.SetCaretPos(000000b8,00000010) ret=0c12077d
trace:msg:SetSystemTimer Added 0x10078 ffff 0xffff0028 timeout 500
0009:Ret user32.SetCaretPos() retval=00000001 ret=0c12077d
---
And this is constantly repeated - Sleep() -> GetQueueStatus() -> SetCaretPos().
In SetCaretPos() we're doing SetSystemTimer again and again which starts it
every time and timer callback is never reached. Consecutive SetCaretPos() calls
happen really fast - always <=50ms (normally 10ms) on mine vbox.
Removing SetSystemTimer() from SetCaretPos() fixes this, and lets a caret blink
normally. I'll test it more.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list