Custom Query
Results (94 - 96 of 3866)
Ticket | Resolution | Summary | Owner | Reporter |
---|---|---|---|---|
#3617 | Rejected | Hot Strings | Au3Builder | |
Description |
something like this would be great. whenever you type a word (abbreviation) it gets automatically expanded. RegisterHotString("btw","bytheway") RegisterHotString("fyi","for your information") etc Thank you Jon for AutoIt. My life would be meaningless without this program. |
|||
#1690 | No Bug | GuiTreeView.au3, GuiListView.au3 and possibly others ASCII mode Bug | Jon | Authenticity |
Description |
I didn't have the time to check through all of the functions in these (or other) UDFs, but I'm quite sure there are more: In _GUICtrlListView_InsertItem function: If _WinAPI_InProcess($hWnd, $_lv_ghLastWnd) Or ($sText = -1) Then $iRet = _SendMessage($hWnd, $LVM_INSERTITEMW, 0, $pItem, 0, "wparam", "ptr") Else ; not our control should be: If _WinAPI_InProcess($hWnd, $_lv_ghLastWnd) Or ($sText = -1) Then If $fUnicode Then $iRet = _SendMessage($hWnd, $LVM_INSERTITEMW, 0, $pItem, 0, "wparam", "ptr") Else $iRet = _SendMessage($hWnd, $LVM_INSERTITEMA, 0, $pItem, 0, "wparam", "ptr") EndIf Else ; not our control Other text related functions in GuiListView.au3 are probably coded the same. In _GUICtrlTreeView_GetText function: If _WinAPI_InProcess($hWnd, $__ghTVLastWnd) Then DllStructSetData($tTVITEM, "Text", $pBuffer) _SendMessage($hWnd, $TVM_GETITEMW, 0, $pItem, 0, "wparam", "ptr") Else should be: If _WinAPI_InProcess($hWnd, $__ghTVLastWnd) Then DllStructSetData($tTVITEM, "Text", $pBuffer) If $fUnicode Then _SendMessage($hWnd, $TVM_GETITEMW, 0, $pItem, 0, "wparam", "ptr") Else _SendMessage($hWnd, $TVM_GETITEMA, 0, $pItem, 0, "wparam", "ptr") EndIf Else |
|||
#3930 | No Bug | DllStructs created in one scope gets dropped if chained with a function that returns a re-structured-by-pointer version of it | AutoXenon | |
Description |
GUICreate('') Local $unreliable_data, $reliable_data, $intermediate_ref, $labelunreliable = GUICtrlCreateLabel('',0,0,400,25), $labelreliable = GUICtrlCreateLabel('',0,30,400,25) GUISetState() HotKeySet('{esc}',quit) While True $unreliable_data = parseStruct(createStruct()) ; struct technically goes out of scope, this saves a "slave struct" but the master struct gets dropped when it goes out of parseStruct's scope $intermediate_ref = createStruct() ; struct scope gets transferred, this is a "master struct" $reliable_data = parseStruct($intermediate_ref) ; a "slave struct" of a master struct that is scoped here Sleep(100) ; wait some time for garbage to get written into the freed memory GUICtrlSetData($labelunreliable,DllStructGetData($unreliable_data,'msg')) GUICtrlSetData($labelreliable,DllStructGetData($reliable_data,'msg')) WEnd Func createStruct() Local $struct = DllStructCreate('char[16]') DllStructSetData($struct,1,'hello world') Return $struct EndFunc Func parseStruct($struct) Return DllStructCreate('char msg[16]',DllStructGetPtr($struct)) EndFunc Func quit() Exit EndFunc The question is, should create-by-pointer structs count as valid references? I can imagine that if it is change to be so, it might cause headaches with ad-hoc throwaway "lens" structs unintentionally preventing the memory from being freed if the programmer is expecting it to not count as valid references. I guess it's up to you to decide on which tradeoff to pick. |