View Issue Details

IDProjectCategoryView StatusLast Update
0005868JEDI VCL00 JVCL Componentspublic2015-09-21 17:47
ReporterZENsanAssigned Toobones 
PrioritynormalSeverityblockReproducibilityalways
Status resolvedResolutionfixed 
PlatformWindowsOSWindows 7OS Version
Product VersionDaily / GIT 
Target VersionFixed in Version3.49 
Summary0005868: JvSpinEdit has a blocking bug in message handling
DescriptionJvSpinEdit has a blocking bug in message handling
Steps To Reproduce1) 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...
TagsNo tags attached.

Activities

2012-04-24 11:55

 

SpinEditBug.rar (1,131 bytes)

obones

2012-06-12 15:40

administrator   ~0019920

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;
JvSpin.patch (920 bytes)

ZENsan

2012-07-10 13:25

reporter   ~0020051

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.

obones

2013-12-18 16:20

administrator   ~0020888

This is now solved in GIT

Issue History

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