Bug Report T706268
Visible to All Users

Starting a drag operation over a bar button whose RepeatClick property is set to True, ending the operation outside the active bar control, and then quickly clicking the bar button again causes an exception

created 6 years ago

We still receive reports from users that get crashes of the following kind:

EdxTestException
[0000000000411151] System.@RaiseExcept + $11
[0000000001423E9D] dxBar.TdxBarButtonControl.MouseDown (Line 26809, "dxBar.pas" + 7) + $0
[0000000001469BC4] dxBar.TCustomdxBarControl.MouseDownNotifyControls (Line 49823, "dxBar.pas" + 3) + $0
[000000000146CC73] dxBar.TCustomdxBarControl.DoBarMouseDown (Line 51017, "dxBar.pas" + 5) + $0
[0000000001463E71] dxBar.TdxBarControl.DoBarMouseDown (Line 47949, "dxBar.pas" + 14) + $0
[000000000146AC32] dxBar.TCustomdxBarControl.MouseDown (Line 50321, "dxBar.pas" + 15) + $0
[00000000006B939E] Vcl.Controls.TControl.DoMouseDown + $FE
[00000000006B94D4] Vcl.Controls.TControl.WMLButtonDblClk + $74
[000000000146A432] dxBar.TCustomdxBarControl.WMLButtonDblClk (Line 50122, "dxBar.pas" + 3) + $0
[000000000040F385] System.TObject.Dispatch + $45

We can reproduce this by clicking on RepeatClick buttons like crazy - not often but sometimes.
It seems to require a specific timing but might also be a special ShiftState (see "NeedStopTimer").

As stated in T595248 i suggest to remove the EdxTestException and just accept that their already is a FButtonPressTimer.

Comments (3)
DevExpress Support Team 6 years ago

    Hello,

    It seems that it is insufficient to just have the TdxBarButton button with the RepeatClick property enabled to reproduce this problem. At least I was not able to reproduce it with the latest version of our controls (18.2.3). We cannot perform changes to our code without reproducing this error. Would you please provide us with a sample project where you got this error by clicking a bar button fast? Thank you in advance.

      As stated to reproduce this is needs a special timing.
      Attached is simple simulation program.
      I know this only simulates/provokes the crash situation in an artificial way. But i hope this convinced you that such a situation might occur in real life too. At least it provides a test case for a fix.

      DevExpress Support Team 6 years ago

        Thanks a lot! Indeed, the error occurs in this case. We will examine this scenario.

        Answers approved by DevExpress Support

        created 6 years ago

        We have fixed the issue described in this ticket and will include the fix in our next maintenance update. To apply this solution before the official update, request a hotfix by clicking the corresponding link for product versions you require.

        Note: Hotfixes may be unavailable for beta versions and updates that are about to be released.

          Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

          Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.