Adding items to a group of a listview which displays items in smallicon mode causes problems when being rendered after hovering above listview items. Didnt happen to me without groups or in another display mode (largeicons...). Tested in Windows 10. If needed i could provide a screencast.
<?xml version="1.0"?>
<button backcol="none" display="both" label_pos="left" textcol="none">
<label>Listview group bug</label>
<icon1>#newcommand</icon1>
<function type="script">
<instruction>@script JScript</instruction>
<instruction>function OnClick(clickData)</instruction>
<instruction>{</instruction>
<instruction> var tab = clickData.func.sourcetab;</instruction>
<instruction> var cmd = clickData.func.command;</instruction>
<instruction> </instruction>
<instruction> var dlg = clickData.func.dlg;</instruction>
<instruction> dlg.detach = true;</instruction>
<instruction> dlg.template = "dialog";</instruction>
<instruction> dlg.title = "Sample";</instruction>
<instruction> dlg.create();</instruction>
<instruction> </instruction>
<instruction> var lv1 = dlg.Control("listview1");</instruction>
<instruction> </instruction>
<instruction> //this makes problems</instruction>
<instruction> lv1.AddGroup("A", 1, "c");</instruction>
<instruction> lv1.AddGroup("B", 2, "c");</instruction>
<instruction> lv1.EnableGroupView(true);</instruction>
<instruction> </instruction>
<instruction> for(var i= 0; i < 100; i++)</instruction>
<instruction> //lv1.AddItem(String("Long string to make it happen " + i), i, 1);</instruction>
<instruction> lv1.AddItem(String( i), i, 1);//short enough to not break it</instruction>
<instruction> </instruction>
<instruction> //this works fine</instruction>
<instruction> /*</instruction>
<instruction> for(var i= 0; i < 100; i++)</instruction>
<instruction> lv1.AddItem(String("Long string to make it happen " + i));</instruction>
<instruction> */</instruction>
<instruction />
<instruction> dlg.show();</instruction>
<instruction> var msg;</instruction>
<instruction> do</instruction>
<instruction> {</instruction>
<instruction> msg = dlg.GetMsg();</instruction>
<instruction> if (!msg.result) </instruction>
<instruction> break;</instruction>
<instruction> Log("Msgloop: Event=" + msg.event + " Value=" + String(msg.value) + " Sender=" + msg.control);</instruction>
<instruction />
<instruction> }</instruction>
<instruction> while(msg);</instruction>
<instruction>}</instruction>
<instruction />
<instruction>function Log(msg, e)</instruction>
<instruction>{</instruction>
<instruction> DOpus.Output(String(msg), e || false);</instruction>
<instruction>}</instruction>
<instruction>==SCRIPT RESOURCES</instruction>
<instruction><resources></instruction>
<instruction> <resource name="dialog" type="dialog"></instruction>
<instruction> <dialog fontsize="8" height="222" lang="english" width="360"></instruction>
<instruction> <control height="198" name="listview1" type="listview" viewmode="smallicon" width="330" x="6" y="6" /></instruction>
<instruction> </dialog></instruction>
<instruction> </resource></instruction>
<instruction></resources></instruction>
</function>
</button>