[Bug 13112] New: comctl32 trackbar setPos() should not call oncustomdraw if value hasn't changed
http://bugs.winehq.org/show_bug.cgi?id=13112 Summary: comctl32 trackbar setPos() should not call oncustomdraw if value hasn't changed Product: Wine Version: CVS/GIT Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: comctl32 AssignedTo: wine-bugs(a)winehq.org ReportedBy: jaz(a)pastnotecut.org Created an attachment (id=12893) --> (http://bugs.winehq.org/attachment.cgi?id=12893) patch against comctl32 for the setpos bug The SetPos() function of the trackbar component of comctl32 is calling the OnCustomDrawMessage even if it doesn't change the value. This wouldn't be a problem per se, but in my application I was doing a setFocus inside the oncustomdraw, as well as doing the setpos in a timer. This caused all the buttons in the UI to not operate, because the timer took precedence, and the focus no longer kept at the supposed place. I've already fixed this in my application (since i can do the check), but could affect other applications. I attach the patch that i've tested which solves it. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=13112 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch --- Comment #1 from Austin English <austinenglish(a)gmail.com> 2008-05-11 22:34:14 --- Please send patches to wine-patches(a)winehq.org -- 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.
http://bugs.winehq.org/show_bug.cgi?id=13112 Mikolaj Zalewski <mikolaj.zalewski(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mikolaj.zalewski(a)gmail.com --- Comment #2 from Mikolaj Zalewski <mikolaj.zalewski(a)gmail.com> 2008-07-05 13:44:47 --- I see that a mail was sent to wine-patches but the patch wasn't applied. This could be because... you didn't attach the patch to the mail :). Also you should make the subject more descriptive for a changelog entry - e.g. 'comctl32: trackbar: make sure a MN_CUSTOMDRAW is no sent after a TBM_SETPOS'. In the message body you can add that it fixes the problem in bug #13112 so that people see you are fixing a real problem and not nitpicking. The patch itself seems correct. Of course, it would be great if you would also include a test added to dlls/comctl32/tests/trackbar.c. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=13112 --- Comment #3 from Josep Ma <jaz(a)pastnotecut.org> 2008-09-27 07:37:09 --- I see this patch hasn't been applied yet to the repository. What is still missing? I sent an e-mail as per your request on july 6, with subject : comctl32:,trackbar: make sure a MN_CUSTOMDRAW is not sent for calls to TBM_SETPOS with the current value and the patch attached correctly this time. What i've just realized is that i sent it with another e-mail account instead of the one here. Would that have caused it to be ignored? -- 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.
http://bugs.winehq.org/show_bug.cgi?id=13112 --- Comment #4 from Lei Zhang <thestig(a)google.com> 2008-09-27 17:33:00 --- It would be good to write a test case in dlls/comctl32/tests/trackbar.c and make sure it passes on Windows. To prove your patch is correct. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=13112 --- Comment #5 from Josep Ma <jaz(a)pastnotecut.org> 2008-09-28 10:10:23 --- I don't know how to test this. The current tests check that the call produces a specific result. In this case, what matters is the call the function itself does to Invalidate, which is not required. This doesn't change the trackbar in itself, so I wouldn't know how to test if that call is executed or not. I found the bug since I was calling it repeatedly with the same value and that caused some side effects in my application. Or maybe is precisely the invalidate code the one that should be investigated. I opted to post it as a patch since it seemed the easy way to get it fixed, but now i'm doubtful about it. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=13112 Vincent Povirk <madewokherd(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |madewokherd(a)gmail.com --- Comment #6 from Vincent Povirk <madewokherd(a)gmail.com> 2008-09-28 20:30:59 --- It sounds to me like the messages are what matter, and you can test for those. There is already code in the tests checking the messages we get. Look for ok_sequence. And yes, getting changes into Wine tends to be a little bit more work than just writing a patch; Wine is a complicated beast, and we need to be careful that the change is correct. That said, I don't think it will be much more work in this case. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=13112 --- Comment #7 from Vincent Povirk <madewokherd(a)gmail.com> 2008-11-15 21:16:02 --- According to our tests for setpos, Wine is actually missing some WM_PAINT messages, and the whole lot are todo because of that. That makes it impossible to test for the absence of a WM_PAINT on Wine, though we can at least verify the correct behavior. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=13112 --- Comment #8 from Vincent Povirk <madewokherd(a)gmail.com> 2008-11-17 09:39:58 --- This should be fixed in Git. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=13112 Dmitry Timoshkov <dmitry(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED Version|CVS/GIT |unspecified --- Comment #9 from Dmitry Timoshkov <dmitry(a)codeweavers.com> 2008-11-17 10:35:43 --- Should be fixed. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=13112 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #10 from Alexandre Julliard <julliard(a)winehq.org> 2008-11-21 10:31:33 --- Closing bugs fixed in 1.1.9. -- 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.
participants (1)
-
wine-bugs@winehq.org