Long story short: I have a GUI with several controls on it, one of which is an edit which has data intermittently written to it via _GUICtrlEdit_AppendText. After updating to 3.3.1.3 it seemed to stop receiving data and while debugging I discovered that it worked after adding or removing any control created before it, thus changing it's ID from 40. After a bit of testing it seems that it fails on several control IDs, and it appears the bug was introduced with version 3.3.1.2.
Testing IDs from 3 to 100 I found the following IDs failed to receive data: 20, 22, 24, 26, 40, 56, 60, 66, 68, 80, 84, 96, 98. And on a special note, ID 64 seemed to lock up AutoIt completely (during a DllCall to SendMessage as near as I can tell).
Here's the script I used to test:
#include <GUIEdit.au3>
Opt('TrayIconDebug', 1)
Func Test($Num)
GUICreate('', 200, 200)
For $i = 1 to $Num
GUICtrlCreateDummy()
Next
$Edit = GUICtrlCreateEdit('', 0, 0)
_GUICtrlEdit_AppendText($Edit, 'Success')
If GUICtrlRead($Edit) = 'Success' Then
ConsoleWrite($Edit & ': Success.' & @CRLF)
Else
ConsoleWrite($Edit & ': Failed.' & @CRLF)
EndIf
GUIDelete()
EndFunc
Global $Skip
$Skip = True ; Comment out to test ID 64 as well.
For $i = 0 to 97
If $Skip And $i = 61 Then
ConsoleWrite('64: Skipping due to lockup.' & @CRLF)
ContinueLoop
EndIf
Test($i)
Next
Oh, I feel I should mention that the UDFs were all from 3.3.1.3 when I tested. And also, _DebugBugReportEnv() returns the following:
Lastly, I just tested with the new beta (3.3.1.4) and got some new control IDs, so I went back and checked again with the previous versions and got the same, so I'm not sure if I messed up my first test somehow but either way the control IDs that fail for me now are: 20, 22, 24, 26, 46, 56, 60, 62, 66, 68, 80, 84, 96, 98, 100.
Hopefully I'm not being too verbose, if I am just let me know and I'll shut up.