View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005868 | JEDI VCL | 00 JVCL Components | public | 2012-04-24 11:55 | 2015-09-21 17:47 |
Reporter | ZENsan | Assigned To | obones | ||
Priority | normal | Severity | block | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | Windows | OS | Windows 7 | OS Version | |
Product Version | Daily / GIT | ||||
Target Version | Fixed in Version | 3.49 | |||
Summary | 0005868: JvSpinEdit has a blocking bug in message handling | ||||
Description | JvSpinEdit has a blocking bug in message handling | ||||
Steps To Reproduce | 1) Start attached application; 2) Click "Up" arrow in spin edit; 3) MessageDlg is shown; 4) Press any button; 5) Now click on second control in the form - you can exit from the spin edit - it always trying to change the value... | ||||
Tags | No tags attached. | ||||
2012-04-24 11:55
|
SpinEditBug.rar (1,131 bytes) |
|
I'm seeing it as well, it comes from TCustomUpDown in the VCL. Basically, the mouse up event gets eaten away by the dialog box and as a result, the buttons still think they are "active". You can see that with their hottrack effect moving with your mouse. For now, I would suggest that no one moves the focus away from the spin edit in the OnChange event. The easiest way to do that is to use PostMessage to trigger the dialog just a bit later on. If anyone finds a solution, please provide a patch. |
2012-07-10 13:23
|
JvSpin.patch (920 bytes)
--- C:/Users/hohlovm/AppData/Local/Temp/JvSpin.pas-revBASE.svn000.tmp.pas �� �� 12 15:55:07 2012 +++ C:/Program Files (x86)/Embarcadero/RAD Studio/7.0/lib/jvcl/run/JvSpin.pas �� �� 10 14:21:23 2012 @@ -1,4 +1,4 @@ -{----------------------------------------------------------------------------- +{----------------------------------------------------------------------------- The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -1907,8 +1907,8 @@ else if Msg.Pos < 0 then Click(btPrev); - if HandleAllocated then - SendMessage(Handle, UDM_SETPOS, 0, 0); + //if HandleAllocated then + // SendMessage(Handle, UDM_SETPOS, 0, 0); finally FChanging := False; end; |
|
I tried to bypass the issue somehow. But only way I found for now is in attached patch. If we do not send UDM_SETPOS message then everything works fine, the only thing that when you click outside after messagebox, then it does not focus control from first click. But not more redundant click handler calls. |
|
This is now solved in GIT |
Date Modified | Username | Field | Change |
---|---|---|---|
2012-04-24 11:55 | ZENsan | New Issue | |
2012-04-24 11:55 | ZENsan | File Added: SpinEditBug.rar | |
2012-06-11 17:31 | obones | Status | new => acknowledged |
2012-06-12 15:40 | obones | Note Added: 0019920 | |
2012-06-12 15:40 | obones | Status | acknowledged => confirmed |
2012-07-10 13:23 | ZENsan | File Added: JvSpin.patch | |
2012-07-10 13:25 | ZENsan | Note Added: 0020051 | |
2013-12-18 16:20 | obones | Note Added: 0020888 | |
2013-12-18 16:20 | obones | Status | confirmed => resolved |
2013-12-18 16:20 | obones | Fixed in Version | => Daily / GIT |
2013-12-18 16:20 | obones | Resolution | open => fixed |
2013-12-18 16:20 | obones | Assigned To | => obones |
2015-09-21 17:47 | obones | Fixed in Version | Daily / GIT => 3.49 |